Android Handler的详解及实例

 更新时间:2017年07月15日 11:41:33   作者:左手木亽  
这篇文章主要介绍了Android Handler的详解及实例的相关资料,需要的朋友可以参考下

Android Handler的详解

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

Handler handler = new Handler() {
    public void handleMessage(Message msg) {
      //do something
    };
  };
handler.sendEmptyMessageDelayed(0, 100 * 1000);

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

private static class MyHandler extends Handler {
    WeakReference<MainActivity> mWeakReferenceActivity;
    public MyHandler(MainActivity activity) {
      mWeakReferenceActivity = new WeakReference<MainActivity>(activity);
    }

    @Override
    public void handleMessage(Message msg) {
      super.handleMessage(msg);
      if (null != mWeakReferenceActivity) {
        MainActivity _activity = mWeakReferenceActivity.get();
        //_activity.dosomething();
      }
    }
  }

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

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

以上就是关于Android Handle 用法的详解,关于Android 线程的文章,本站还有好多,大家可以参阅,感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

相关文章

  • Android 自定义加载动画Dialog弹窗效果的示例代码

    Android 自定义加载动画Dialog弹窗效果的示例代码

    这篇文章主要介绍了Android 自定义加载动画Dialog弹窗效果,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-06-06
  • Android Presentation实现双屏异显

    Android Presentation实现双屏异显

    这篇文章主要为大家详细介绍了Android Presentation实现双屏异显,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-01-01
  • Android实现淘宝购物车

    Android实现淘宝购物车

    这篇文章主要为大家详细介绍了Android实现淘宝购物车,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-05-05
  • MobLink Android 快速集成指南

    MobLink Android 快速集成指南

    这篇文章主要为大家介绍了MobLink Android 快速集成指南,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-10-10
  • Android获取SD卡中选中图片的路径(URL)示例

    Android获取SD卡中选中图片的路径(URL)示例

    一个图片上传功能需要提供上传图片在SD卡中的路径,总结了网上的一些列子,修改了一下,代码很简单,感兴趣的朋友可以参考下哈,希望对大家有所帮助
    2013-07-07
  • Android实现横屏切换科学计算器

    Android实现横屏切换科学计算器

    这篇文章主要为大家详细介绍了Android实现横屏切换科学计算器,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-06-06
  • Android编程实现通知栏进度条效果的方法示例

    Android编程实现通知栏进度条效果的方法示例

    这篇文章主要介绍了Android编程实现通知栏进度条效果的方法,结合实例形式较为详细的分析了Android通知栏进度条效果的功能、布局相关实现方法与操作注意事项,需要的朋友可以参考下
    2018-02-02
  • Native.js屏幕截图实例代码

    Native.js屏幕截图实例代码

    本文详细解读了Dcloud的H5+API中webview draw使用方法,并给出draw截图的Android,iOS通用方法,希望对大家有所帮助
    2018-09-09
  • Android RecyclerView的刷新分页的实现

    Android RecyclerView的刷新分页的实现

    这篇文章主要介绍了Android RecyclerView的刷新分页的实现,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-05-05
  • Flutter 文字中划线动画StrikeThroughTextAnimation

    Flutter 文字中划线动画StrikeThroughTextAnimation

    这篇文章主要为大家介绍了Flutter 文字中划线动画StrikeThroughTextAnimation示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-04-04

最新评论