Android R DP3更新内容概述

Android R DP3于北京时间4月24日凌晨发布,此次更新新增了一系列特性,主要有:

新增APP退出原因说明:
Android R推出了一个新的API,来帮助开发人员收集APP可能退出的原因,不管APP是自身崩溃、或是系统崩溃、再或者是用户采取了行动(例如点击了退出按钮,杀掉后台等),此API都可以帮助开发者了解APP退出的原因和当时的状态。

使用方式:
ActivityManager am = (ActivityManager) getSystemService(Context.ACTIVITY_SERVICE);
List list = am.getHistoricalProcessExitReasons(getPackageName(), Process.myPid(),1);
String description = list.get(0).getDescription(); //list中的ApplicationExitInfo对象包含了应用退出时的主要信息

总结:此API可以帮助开发者排查APP异常退出的原因,到底是自身APP中存在的问题,还是引用的SDK存在问题、或者系统问题。

新增GWP-ASan堆分析工具:
Android R版本用了很多工具来强化那些对安全性至关重要的组件,DP3里再次新增一个名为“GWP-ASan”的采样分析工具来帮助开发者发现和修复内存安全问题。“GWP-ASan”可以用相当小的运行内存开销(大约70KB,相比于HWASan更小)或者对手机性能的影响来检测堆内存错误。R版本中,GWP-ASan会在平台二进制文件和系统应用程序里默认启用。如果第三方APP想使用此工具,需要在APP的工程清单文件里单独设置。

使用方式:

android:gwpAsanMode="always">

总结:在排查堆内存错误时,可以利用此工具来跟踪错误信息的异常发生点,异常信息将会在Logcat的StackTrace中打印。

新增ADB增量安装:
Android R上加速了对大型APK文件(2GB及以上)在开发者电脑上的安装速度,大致原理是:在安装这类APK时,通过安装APK中足以用来启动应用的部分,同时在后台流式传输剩余数据,来加速这一过程。

使用方式:adb install --incremetal

需要注意的是,APK必须使用Android R中新增的V4签名打包,这项功能才能正常发挥作用。

ADB无线调试:
Android R DP3版本中改进了通过Wi-Fi连接ADB使用进行APK调试的体验,Android R上的无线调试比较智能,可以记住一段时间内的连接,并且可以利用最新的Wi-Fi标准(Wi-Fi 6)来全速运行。Google计划在未来的版本中将带二维码扫描的无线调试集成到Android Studio。
PS:国内的微信小程序开发早已支持。

新增数据访问审核更新:
为了更好的监测哪些应用或者其依赖项访问了用户隐私数据,Android R引入了数据访问审核流程。运行在此版本的应用可以注册AppOpsManager.AppOpsCollector来监听应用或者其依赖项访问用户隐私数据的过程。此API会在每次发生下列任一事件时执行相应操作:
·应用的代码访问隐私数据;
·依赖库或者SDK中的代码访问隐私数据。

总结:AppOpsCollector对象可以通过查看应用的当前状态(例如当前线程的堆栈轨迹)来判断调用时来自自身应用还是来自SDK。

Android R将会在5月份发布Beta Releases版本,并在第三季度推出Android R正式版。

你可能感兴趣的:(Android R DP3更新内容概述)