本文共 1310 字,大约阅读时间需要 4 分钟。
当 MainActivity 被关闭时没有正确的被回收,查看了下内存,因为被 InputMethodManager 引用了,简直莫名其妙,根本没有使用到这货。
原因及解决方案见此
创建一个启动后就关闭的 Activity
package com.memory.test;import android.os.Bundle;import android.os.Handler;import android.support.annotation.Nullable;import android.support.v7.app.AppCompatActivity;/** * Created by amitshekhar on 06/05/16. */public class DummyActivity extends AppCompatActivity { @Override protected void onCreate(@Nullable Bundle savedInstanceState) { super.onCreate(savedInstanceState); new Handler().postDelayed(new Runnable() { @Override public void run() { finish(); } }, 500); }}
为它创建一个透明的的 style
声明一下
在 MainAcitivity 结束的时候启动它
// Write this in onBackPress of your MainActivitypublic class MainActivity extends AppCompatActivity{ @Override public void onBackPressed() { super.onBackPressed(); // This is important : Hack to open a dummy activity for 200-500ms (cannot be noticed by user as it is for 500ms // and transparent floating activity and auto finishes) startActivity(new Intent(this, DummyActivity.class)); finish(); }}