关于Android WeakReference防止内存泄漏是否会误回收还未使用的对象

亲爱的Joe 2021-03-15 04:01:48
比如下面这段写在Activity的代码

Handler handler = new Handler() {
WeakReference<Context> context = new WeakReference<Context>(MainActivity.this);
@Override
public void handleMessage(Message msg) {
super.handleMessage(msg);
Log.i(TAG,"context = "+context);
System.gc();
Log.i(TAG,"context = "+context);
}

};

问题来了,我查资料说弱引用一定会被回收,但是会不会发生我还没有用的时候碰上GC把它回收掉的情况?
...全文
480 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
亲爱的Joe 2021-03-19
  • 打赏
  • 举报
回复
引用 1 楼 不会写代码的猴子 的回复:
存在这种可能
那这样岂不是更危险么,程序可能当场就崩溃。
不会写代码的猴子 版主 2021-03-15
  • 打赏
  • 举报
回复
存在这种可能

80,351

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧