對象本應被GC回收的情況,由于被外部對象引用持有,導致不能被正撤氛酰回收
Bean.java
public class Bean {
private Context mContext;
public Bean(Context context) {
mContext = context;
}
}
MainActivity.java
public class MainActivity extends AppCompatActivity {
public static ArrayList<Bean> mBeens = new ArrayList<>();
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//Bean持有MainActivity的實例
//當旋轉Activity 執(zhí)行onCreate方法
mBeens.add(new Bean(this));
}
}
Bean持有MainActivity的實例
當旋轉多次Activity 執(zhí)行onCreate方法,由于mBeens是靜態(tài)變量,始終持有MainActivity的對象
步驟
1.查看memory
2.多次旋轉手機,導致memory上升
如上就是內存泄露
最后編輯于 :
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者