SemClipboardManager类中的内存泄漏

时间:2019-05-21 11:17:22

标签: android performance memory-management memory-leaks leakcanary

我正在使用LeakCanary调试应用程序中的内存泄漏,但是检测到临时内存泄漏(我认为它是在其中包含EditText的Acitvities中生成的)。以下是泄漏的屏幕截图。 我已经阅读了LeakCanary的github上的线程,并且有人建议使用onDestory方法中的以下代码,但这对我也不起作用。

  private void handleSemManagerMemoryLeak(Activity activity) {
        try {
            if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M && Build.MANUFACTURER.equals("samsung")) {
                Object systemService = activity.getSystemService(Class.forName("com.samsung.android.content.clipboard.SemClipboardManager"));
                Field mContext = systemService.getClass().getDeclaredField("mContext");
                mContext.setAccessible(true);
                mContext.set(systemService, null);
            }
        } catch (Exception e) { //ignored }
        }
    }

泄漏报告:

enter image description here

0 个答案:

没有答案