目录
1. 关于APP请求的所有手机权限 <uses-permission/>
通常情况下,我们APP自己请求的所有权限都是在AndroidManifest.xml文件中罗列的。但是在manifest中,第三方SDK可以修改。合并后的manifest请单击merge,即能够查看真正的所有权限;(例如我在集成了热修复的SDK之后,就发现热修复给我增加了音频的权限)
2. 关于系统组件服务(service)的后台控制
在Android8.0(Android O)以下的服务,是长期在后台保存的,或者说存活能力是比较强的。但是在Android8及其以上的时候,一旦APP进入后台,所有的后台服务就会在很快的时间内玩完,并且在稍后回到前台之后,之前被清理的后台服务也不会回来了(我没有测试过APP在前台但是锁屏状态下的服务情况)。针对这些情况Android官方推荐,在Android8.0以上可以使用前台服务达到我们的预期,前台服务在APP进程存在的情况下可以长期保留在后台。
Android8.0的应用行为变更中关于后台的修改,参考链接:
3. 软件测试版本Canary的认识
Canary 是金丝雀的意思,Canary 版本也就是金丝雀版本。为什么版本发布会叫这个名字呢?
其实这和采矿行业有关系,英文中有一句话叫做 canary in a coal mine,点击查看其 维基百科。它讲的是在工人去矿坑采矿的一种防护措施。由于金丝雀对矿坑的有害气体——比如一氧化碳——比较敏感,在人类发觉有害气体前,金丝雀会先死掉,以此能够让矿工发现有害气体,及时做出防护。
由此,软件行业就把 canary 搬过来,代表软件发布前的灰度版本,让这批用户及时发现 bug,等稳定后再全量发布。
在Android中明显的版本控制有Android studio的版本控制中就存在此Canary版本:Android Studio 下载文件归档 | Android 开发者 | Android Developers本页提供了各个 Android Studio 版本的下载归档文件。https://developer.android.google.cn/studio/archive#android-studio-3-0?utm_source=androiddevtools&utm_medium=website