背景
现如今 Android 项目都是用 build.grale 来配置的,项目中一般包含多个 module,这样就会同时存在多个 build.gradle 文件,这时候如果要升级整个项目的 api 版本就需要手动改,会很麻烦,特别是module特别多的时候。下面就是解决这个问题的一些方法。
现如今 Android 项目都是用 build.grale 来配置的,项目中一般包含多个 module,这样就会同时存在多个 build.gradle 文件,这时候如果要升级整个项目的 api 版本就需要手动改,会很麻烦,特别是module特别多的时候。下面就是解决这个问题的一些方法。
命令 | 作用 |
---|---|
-keep | 防止类和成员被移除或者被重命名 |
-keepnames | 保留类和类中的成员,防止它们被混淆,但当成员没有被引用时会被移除 |
-keepclassmembers | 保留类中的成员,防止他们被混淆或移除 |
-keepclassmembernames | 只保留类中的成员,防止它们被混淆,但当成员没有被引用时会被移除 |
-keepclasseswithmembers | 保留类和类中的成员,防止它们被混淆或移除,前提这个类中的成员必须存在,如果不存在则还是会混淆 |
-keepclasseswithmembernames | 保留类和类中的成员,防止它们被混淆,但当成员没有被引用时会被移除,前提是这个类中的成员必须存在,如果不存在则还是会混淆 |
Fragment
常见知识点整理。
总结一下经常用到的git命令,持续更新。
在Android6.0(API-23)以上且 targetSdkVersion 是23时申请危险权限需要动态申请。
如果设备运行的是 Android 5.1(API 级别 22)或更低版本,并且应用的 targetSdkVersion 是 22 或更低版本则不需要申请权限。
standard
和singleTop
的启动模式相对简单就不再说什么了,接下来主要是说singleTask
和singleInstance
。
当一个activity启动另一个activiy,它们同时都经历生命周期的转换。这时候第一个activity暂停(onPause()
)然后停止(onStop()
)(如果它仍然在后台可见的话,这个activity不会停止(onStop()
)),同时另一个activity被创建。如果把这些activity的活动数据保存起来的话对于理解两个activity的协调工作非常重要,真实的情况并不是第一个activity在第二个activity启动之后完全停止了,而是第二个activity启动和第一个activity停止的进程重叠了。