我们先写两个Activity:A和B,试着A打开B观察它们的生命周期: 你会发现是这样运行的:(A)onCreate->(A)onStart()->(A)onResume()->A正在运行中,此时A需要跳转的到B->(A)onPause()->(B)onCreate->(B)onStart()->(B)onResume()->B正在运行中->(A)onStop()->(A)onDestory()。是不是你发现了什么猫腻,找到了解决方法了。 O…
我们先写两个Activity:A和B,试着A打开B观察它们的生命周期: 你会发现是这样运行的:(A)onCreate->(A)onStart()->(A)onResume()->A正在运行中,此时A需要跳转的到B->(A)onPause()->(B)onCreate->(B)onStart()->(B)onResume()->B正在运行中->(A)onStop()->(A)onDestory()。是不是你发现了什么猫腻,找到了解决方法了。 O…
Android 中实现枚举的方案选择:enum、static final 与 IntDef 引言: 曾经有一段时间,许多网上的 Android 性能调优的文章都提到,要尽量避免在 Android 中使用 enum,因为使用 enum 会引入较大的性能损失。这个当时和同事、领导进行了长时间的讨论、验证,最后还是放弃了enum。 然而,最新的 Android 文档已经改变了这一说法。根据 Android VM 的开发者Elliot Hugues 的博客所述,过去的 Android 官网的性能优化指南并不准确,混杂了许多…
Android Studio 2.2 正式版发布后,更新内容中有提到对 C/C++ 支持的完善,表示非常高兴。然后将官网上这一部分内容翻译出来,如有错误,欢迎指正。 原文链接:Add C and C++ Code to Your Project 使用 Android studio,你可以将 C 和 C++ 代码编译成 native library(即 .so 文件),然后打包到你的 APK 中。你的 Java 代码可以通过 Java Native Interface(JNI)调用 native library 中的…
对于那些使用 Android NDK 的构建,Android Studio 现在支持通过在现有构建文件中指向 Gradle 构建 CMake 和 NDK-Build Android 应用项目。在将 cmake 或 ndk-build 项目添加到 Gradle 后,Android Studio 将自动打开相关的 Android 代码文件,用于在 Studio 中进行编辑和调试。 1、对于 CMake 用户,只需在 Gradle 文件的 externalNativeBuild 部分中添加 CMList.txt 文件的路…
今天来给大家介绍一个非常有用的Studio Tips,有些时候我们在一个方法内部写了过多的代码,然后想要把一些代码提取出来再放在一个单独的方法里,通常我们的做法是复制粘贴,现在我来教给大家一个非常简洁的方法,先看下gif演示吧: 怎么样很方便吧?操作方法很简单,只需要选中一些代码,然后操作快捷键 Cmd + Option + M 就ok了,Windows是 Ctrl + Alt + M,很简单方便的一个小技巧分享给大家。 如果调不出来的话,那就右击,出现下图: OK,看一下你的编辑器对应的快捷键。主要…
在Eclipse中 如果我们想让一段代码格式变得整齐,可以: 选中这行代码→右键单击→Source→Format 或者Ctrl+Shift+F就可以了 在Android Studio中 如果我们想让一段代码格式变得整齐,可以: 选中这行代码→Code→Reformed Code 或者Ctrl+Alt+L就可以 如下图: Android Studio中的一个小技巧: 对于一段非常零碎的代码,格式化后行间距等仍然很不顺眼,可以尝试先把代码合并成一行之后再格式化。 命令 快捷键 将代码合并成一行 Ctrl + Shift…
之前都是自己手动实现,有时候属性比较多的时候,写着累就不说了,问题是修改的时候往往会忘记哦,然后用的时候就SB了。这种日子谁想继续呢,不要担心,大牛还是有的,于是乎就找到了“Android Parcelable code generator”这个插件。真是如获珍宝,ZTMD好用了。那就说说怎么在Android Studio中安装这个插件吧。 第一步,就是打开“Setting”找到“Plugins” 第二步,点击“Browse Repositories”在搜索框里输入“Parcelable”,找到“Android P…
android为什么要序列化?什么是序列化,怎么进行序列化 why 为什么要了解序列化?—— 进行Android开发的时候,无法将对象的引用传给Activities或者Fragments,我们需要将这些对象放到一个Intent或者Bundle里面,然后再传递。 what 什么是序列化 —— 序列化,表示将一个对象转换成可存储或可传输的状态。序列化后的对象可以在网络上进行传输,也可以存储到本地。 how 怎么通过序列化传输对象? Android中Intent如果要传递类对象,可以通过两种方式实现。 方式一:Seria…
我们知道Activity的启动方式分为隐式和显式两种,至于两者的区别想必大家都已经很清楚了,显式需要明确的指定被启动对象的组件信息,比如包名和类名等,而隐式调用就不需要明确指定组件的信息。隐式调用就需要Intent能够匹配目标组件的IntentFilter中所设置的过滤信息,如果匹配不成功就不能启动目标Activity。 IntentFiler中过滤的信息包含action,category,data,如下边示例所示,本文也将围绕这个示例进行讲解。 <activity android:name="com.aoa…
1. 静态代码块: static { } 2. 非静态代码块 { } 静态代码块和非静态代码块的异同点如下: 相同点:都是JVM加载类时且在构造函数执行之前执行,在类中都可以定义多个,一般在代码块中对一些static变量进行赋值。 不同点:静态代码块在非静态代码块之前执行(静态代码块 > 非静态代码块)。静态代码块只在第一次new时执行一次,之后不再执行。而非静态代码块每new一次就执行一次。 Example: public class Test { static{ System.out.println("S…
名词单复数避免写两种文案,需要按照安卓标准采用plural方式。 例子: <plurals name="numberOfNotifications"> <item quantity="one">%d Notification</item> <item quantity="few">%d Notifications</item> <item quantity="other">%d Notificat…
错误如下: Information:Gradle tasks [:app:assembleRelease] Error:Execution failed for task ':app:compileReleaseNdk'. > Error: NDK integration is deprecated in the current plugin. Consider trying the new experimental plugin. For details, see http://tools.android.…
设计 布局编辑器 约束布局 布局检查(实验功能) 在Vector Asset Studio中支持PSD文件 构建 Jack编译的改进 支持Java 8 C ++ NDK的构建或CMake 清单文件合并查看器 构建高速缓存(实验功能) OpenJDK的支持 Instant Run的改进 开发 Firebase Plugin Updated Code Analysis & Lint checks 增强的可访问性支持 改进的C ++支持编辑和调试 2016年1月3日的IntelliJ更新 Samples浏览器 改…
介绍三种方法: 1、通过PowerManager.WakeLock实现: step 1:<uses-permission android:name="android.permission.WAKE_LOCK" /> step2: PowerManager pm = (PowerManager) getSystemService(Context.POWER_SERVICE); PowerManager.WakeLock mWakeLock = pm.newWakeLock(PowerManager.SCR…
Timer download:https://play.google.com/store/apps/details?id=com.drivergenius.timer A free simple timer app that can be used anyway you see fit! The perfect Timer-beautifully clean, simple and reliable. Perfect for every timing situation (sports, games, work a…
QQ群:179730949
QQ群:114559024
欢迎您加入Android大家庭
本人QQ:136049925
赐我一丝安慰
给我一点鼓励