Android中Handler的作用是什么

Android中Handler的作用是什么

这篇文章主要介绍“Android中Handler的作用是什么”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Android中Handler的作用是什么”文章能帮助大家解决问题。

Android Handler的详解

Android中Handler的作用是什么

Handler我们常常用于通知主线程做相对应的操作,但是如果使用不但的话就会造成内存泄露,所以记录写正确的Handler写法。

Handlerhandler=newHandler(){publicvoidhandleMessage(Messagemsg){//dosomething};};handler.sendEmptyMessageDelayed(0,100*1000);

像上面的代码片段,就会存在内存泄露的风险,因为handler占着Acitvity的引用阻止了系统进行GC回收操作。

privatestaticclassMyHandlerextendsHandler{WeakReference<MainActivity>mWeakReferenceActivity;publicMyHandler(MainActivityactivity){mWeakReferenceActivity=newWeakReference<MainActivity>(activity);}@OverridepublicvoidhandleMessage(Messagemsg){super.handleMessage(msg);if(null!=mWeakReferenceActivity){MainActivity_activity=mWeakReferenceActivity.get();//_activity.dosomething();}}}

正确的做法是WeakReference存放存入的Activity,这样在Activity结束回收的时候WeakReference不会阻止系统进行回收操作,能有效的避免因为handler引起的内存泄露风险。

当然你使用handler那种写法也不是不行的,需要你在结束Activity的时候handler.removeCallbacksAndMessages(null);让系统能够正常进行回收操作。

关于“Android中Handler的作用是什么”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识,可以关注恰卡编程网行业资讯频道,小编每天都会为大家更新不同的知识点。

发布于 2022-04-11 21:18:03
收藏
分享
海报
0 条评论
37
上一篇:javascript中的val怎么使用 下一篇:Android中如何利用Application设置全局变量
目录

    推荐阅读

    0 条评论

    本站已关闭游客评论,请登录或者注册后再评论吧~

    忘记密码?

    图形验证码