2

我遇到了三星设备的内存泄漏。如果某些活动有EditText这个活动将被泄露。为了展示这一点,我创建了一个小型测试应用程序。

第一个Activity(称为MyActivity)包含EditTextButton。通过按下一个按钮,您在第一个调用finish()Activity并打开第二个。

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);
    findViewById(R.id.goTo)).setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View v) {
            finish();
            Intent intent = new Intent(MyActivity.this, AnotherActivity.class);
            startActivity(intent);
        }
    });
}

当我参加第二次活动时,我参加了 hprof。从 Memory Analyzer 我看到 MyActivity 由于来自 InputMethodManager 的引用而被泄露

内存分析器的屏幕截图

此问题仅发生在三星 S III 和 Tab 设备中。所以 Xperia P 设备和其他设备没有泄漏。请帮助如何绕过此错误。

4

0 回答 0