Android代码开发经验记录|APP权限|服务Service|版本Canary

本文详细介绍了Android应用权限的管理,包括如何查看APP请求的所有权限,特别是第三方SDK可能添加的额外权限。同时,讨论了Android8.0及以上版本系统组件服务(Service)的后台控制变化,建议使用前台服务以保持服务在后台运行。最后,解释了软件测试中的Canary版本概念,它是用于早期问题检测的灰度发布版本,类似于采矿中的预警机制。
摘要由CSDN通过智能技术生成

目录

1. 关于APP请求的所有手机权限

2. 关于系统组件服务(service)的后台控制

3. 软件测试版本Canary的认识


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的应用行为变更中关于后台的修改,参考链接:

后台执行限制  |  Android 开发者  |  Android Developersicon-default.png?t=LBL2https://developer.android.google.cn/about/versions/oreo/background

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

le540850072

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值