Android 安卓7.1.1及以上版本的ANR

Android 安卓7.1.1及以上版本的ANR,android,performance,android-7.0-nougat,Android,Performance,Android 7.0 Nougat,在安卓7.1.1之前,我的应用程序曾经相当稳定,ANR率在0.6%左右。现在ANR急剧增加 如果我在控制台上看到报告,我会发现以下结果 低于6的ANR小于0.4% 安卓6(所有版本)1.38% Android 7.1.1 18% 安卓7.1.2 8.23 安卓8 10.02% 因此,以下是我的问题/担忧 什么样的平台变化可能是ANRs出现这种趋势的原因 还有其他人发现了类似的趋势吗 我将非常乐意根据需要提供更多信息使用不推荐的API 根据我的经验,我发现过多使用不推荐的API会导致最新版本的an

在安卓7.1.1之前,我的应用程序曾经相当稳定,ANR率在0.6%左右。现在ANR急剧增加

如果我在控制台上看到报告,我会发现以下结果

低于6的ANR小于0.4%

安卓6(所有版本)1.38%

Android 7.1.1 18%

安卓7.1.2 8.23

安卓8 10.02%

因此,以下是我的问题/担忧

什么样的平台变化可能是ANRs出现这种趋势的原因

还有其他人发现了类似的趋势吗


我将非常乐意根据需要提供更多信息

使用不推荐的API

根据我的经验,我发现过多使用不推荐的API会导致最新版本的android操作系统出现ANR,尤其是在android 7上。您应该尽量避免使用不推荐使用的API。“不推荐使用”是一种不鼓励程序员使用的API,通常是因为它很危险,或者是因为存在更好的替代方案。这些API可能在低端设备上运行良好,但在高端设备上运行不好

第二个问题是在单个活动中使用片段太多

如果您使用一个包含大量片段的活动,那么这也会在某些设备中导致ANR。因为只有一个进程和大量任务要在该进程上完成


根据我的经验,如果您避免这些事情,那么您可以在更高版本中显著降低ANR。

使用不推荐的API

根据我的经验,我发现过多使用不推荐的API会导致最新版本的android操作系统出现ANR,尤其是在android 7上。你应该尽量避免使用不推荐的API。“不推荐的API是程序员不愿意使用的API,通常是因为它很危险,或者因为存在更好的替代方案。这些API可能在低端设备中运行良好,但在高端设备中不起作用

第二个问题是在单个活动中使用片段太多

如果您使用一个包含大量片段的活动,那么在某些设备中也会导致ANR。因为只有一个流程,而且在该流程上需要完成很多任务

根据我的经验,如果您避免这些事情,那么您可以在更高版本中显著降低ANR