StrictMode里面有一个Activity 实例个数限制检测,当时这个只会是在开发的时候开启,而且这个没有任何回调,不能处理一些自己的逻辑,翻了一下源码,是在ActivityThread里面的performLaunchActivity方法里面调用了 StrictMode.incrementExpectedActivityCount(activity.getClass()),然后在这个里面做了instance的个数保存,检测等工作,我们可以参考这个操作,自己搞一个instance检测。
1. 写一个注解,这个用来保存你的Activity的instance限制的个数。
2.在Application里面注册一个ActivityLifecycleCallbacks,在onActivityCreated方法里面做Activity instance个数检查和超过个数后Activity instance的finish
3.在onActivityDestroyed里面Activity的计数器-1
然后自己做的Activity实例检测就成功了。很简单
转载于:https://my.oschina.net/fengcunhan/blog/1490734