我遇到了三星设备的内存泄漏。如果某些活动有EditText
这个活动将被泄露。为了展示这一点,我创建了一个小型测试应用程序。
第一个Activity
(称为MyActivity
)包含EditText
和Button
。通过按下一个按钮,您在第一个调用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 设备和其他设备没有泄漏。请帮助如何绕过此错误。