StrictMode with penaltyDeath关闭应用

时间:2016-07-25 08:21:17

标签: android android-strictmode

我已在我的应用中使用以下选项实现了StrictMode:

StrictMode.setThreadPolicy(new StrictMode.ThreadPolicy.Builder()
                .detectNetwork()
                .penaltyLog()
                .build());

        StrictMode.setVmPolicy(new StrictMode.VmPolicy.Builder()
                .detectActivityLeaks()
                .penaltyLog()
                .penaltyDeath()
                .build());

应用程序有两个活动(A和B),方案是:

  1. StrictMode实现为活动A的onCreate方法
  2. B活动从A
  3. 开始
  4. B活动结束,返回活动A
  5. B活动从A
  6. 开始
  7. B活动结束,活动被StrictMode(penaltyDeath)杀死
  8. 当活动A被杀死时,我会收到一条消息:

      

    类AActivity;实例= 2; limit = 1 android.os.StrictMode $ InstanceCountViolation:class AActivity;实例= 2;极限= 1                                                              在android.os.StrictMode.setClassInstanceLimit(StrictMode.java:1)

    活动B通过自定义按钮启动(它只有空构造函数,与B活动相同)。我试图在StrictMode中设置类实例限制但没有结果。奇怪的是,如果没有penaltyDeath()选项,活动实例的数量会增加到15-17,然后GC即将到来。

    有人与StrictMode有类似的问题吗?

0 个答案:

没有答案