Open Andyload opened 2 years ago
直接在项目的master分支上运行,并且在koom-demo工程代码的基础上修改了一些代码,如下:
public static class LeakedActivity extends AppCompatActivity { ExecutorService executors = Executors.newSingleThreadExecutor(); static List<Activity> uselessObjectList; public static void setUselessObjectList(List<Activity> activities) { } @Override protected void onCreate(@Nullable Bundle savedInstanceState) { super.onCreate(savedInstanceState); executors.execute(() -> { while (true) { try { TimeUnit.SECONDS.sleep(2); } catch (InterruptedException e) { e.printStackTrace(); } Log.e("LeakedActivity", "onCreate"); } }); this.finish(); } }
只是把LeakdActivity原来由静态变量持有,改成线程池执行任务(内部类持有LeakdActivity对象)
最后生成的json文件没有关于LeakdActivity泄露的gcpath,试了红米note4x和iqoo neo5都是这样,应该所有手机都是这样
如果换成Thread的方式又可以获取LeakdActivity泄露的gcpath,这究竟是为什么呢?
直接在项目的master分支上运行,并且在koom-demo工程代码的基础上修改了一些代码,如下:
只是把LeakdActivity原来由静态变量持有,改成线程池执行任务(内部类持有LeakdActivity对象)
最后生成的json文件没有关于LeakdActivity泄露的gcpath,试了红米note4x和iqoo neo5都是这样,应该所有手机都是这样
如果换成Thread的方式又可以获取LeakdActivity泄露的gcpath,这究竟是为什么呢?