【发布时间】:2015-04-01 14:07:09
【问题描述】:
我知道StrictMode主要设计用于应用程序开发阶段,但是根据我的应用程序需要,出现ANR是不可接受的,而崩溃是完全可以接受的,StrictMode提供了一种防止ANR的方法对话:
StrictMode.setVmPolicy(new StrictMode.VmPolicy.Builder().detectAll()
.penaltyLog().penaltyDeath().build());
如果我在应用程序生产阶段使用它会怎样?当应用程序在使用StrictMode 时获得ANR 时会发生什么?它会冻结、崩溃还是等到再次响应?
【问题讨论】:
-
哪些操作会导致 ANR?
-
@A.S.这不是特定的操作,它每隔很长时间就会发生一次,但是根据我的应用程序环境,根本不能接受收到 Not Responding 消息。上次在水平线性布局的弹出窗口中添加创建大量数据时发生。
-
水平线性布局中弹出窗口内的大量数据真是个糟糕的主意……你为什么不使用 listview/recyclerview?
-
@Selvin 实际上,关于设计,它会是一个非常复杂的 ListView,虽然我认为使用 LinearLayouts 会更容易。
-
@MuhammedRefaat 你可以在
PopUpWindow内部使用水平方向的RecyclerView而不是LinearLayout
标签: android android-anr-dialog android-strictmode