android Handlerr.removeCallbacksAndMessages(null)的妙用

今天在阅读代码发现了android  Handlerr.removeCallbacksAndMessages(null)代码 在ondestory()调用,之前没用过,那想弄懂咋办,查api:

public final void removeCallbacksAndMessages (Object token)

Added in API level 1

Remove any pending posts of callbacks and sent messages whose obj is token. If token is null, all callbacks and messages will be removed.

这是google文档解释,英语不好的请用有道翻译,

删除不论什么悬而未决的帖子回调函数和发送消息的obj令牌。

假设令牌是空的,全部的回调函数和消息将被删除

当然这个翻译不太准确,意思就是说当參数为null时,删除全部回调函数和message

这样做的优点是在Acticity退出的时候,能够避免内存泄露

时间: 2024-10-08 02:08:31

android Handlerr.removeCallbacksAndMessages(null)的妙用的相关文章

Android中focusable属性的妙用——底层按钮的实现

http://www.cnblogs.com/kofi1122/archive/2011/03/22/1991828.html http://www.juziku.com/weizhishi/3077.htm android开发:View中android:focusable属性的作用 设置是否获得焦点.若有requestFocus()被调用时,后者优先处理.注意在表单中想设置某一个如EditText获取焦点,光设置这个是不行的,需要将这个EditText前面的focusable都设置为false

Android ActionBar返回null的问题

学习Android4.0的ActionBar,遇到一个特别恶心的问题,必须记下来. 我开始新建的2.2的工程,后来想测试ActionBar,看到文档说是11以后才能用,我就直接把项目改成了min:14,target:17.这也是隐患的开始. 在程序里面调用下面这句获取actionBar,但是返回的总是null的,不知道为啥?测试了一下午,尼玛啊...ActionBar mActionbar = getActionBar(); 我新建了一个项目,直接新建SDK 14的项目,就可以,返回的就不是nu

Android开发 |常见的内存泄漏问题及解决办法

在Android开发中,内存泄漏是比较常见的问题,有过一些Android编程经历的童鞋应该都遇到过,但为什么会出现内存泄漏呢?内存泄漏又有什么影响呢? 在Android程序开发中,当一个对象已经不需要再使用了,本该被回收时,而另外一个正在使用的对象持有它的引用从而导致它不能被回收,这就导致本该被回收的对象不能被回收而停留在堆内存中,内存泄漏就产生了. 内存泄漏有什么影响呢?它是造成应用程序OOM的主要原因之一.由于Android系统为每个应用程序分配的内存有限,当一个应用中产生的内存泄漏比较多时

Android中使用SurfaceView+MediaPlayer+自定义的MediaController实现自定义的视屏播放器

效果图如下: (PS本来是要给大家穿gif动态图的,无奈太大了,没法上传) 功能实现:暂停,播放,快进,快退,全屏,退出全屏,等基本功能 实现的思路: 在主布局中放置一个SurfaceView,在SurfaceView中放置一个MediaPlayer ,在其下方自定义一个MediaController,不过也不能称之为MediaController,使用的是PupupWindow来实现的,在PupupWindow布局中放置几个textView,Button,最重要的使我们的SeekBar控件,创

Android常见内存泄露

前言 对于内存泄漏,我想大家在开发中肯定都遇到过,只不过内存泄漏对我们来说并不是可见的,因为它是在堆中活动,而要想检测程序中是否有内存泄漏的产生,通常我们可以借助LeakCanary.MAT等工具来检测应用程序是否存在内存泄漏,MAT是一款强大的内存分析工具,功能繁多而复杂,而LeakCanary则是由Square开源的一款轻量第三方内存泄漏检测工具,当它检测到程序中有内存泄漏的产生时,它将以最直观的方式告诉我们该内存泄漏是由谁产生的和该内存泄漏导致谁泄漏了而不能回收,供我们复查. 内存泄漏 为

Android商城开发系列(十三)—— 首页热卖商品布局实现

热卖商品布局效果如下图: 这个布局跟我们上节做的推荐是一样的,也是用LinearLayout和GridView去实现的,新建一个hot_item.xml,代码如下所示: 1 <?xml version="1.0" encoding="utf-8"?> 2 <LinearLayout 3 xmlns:android="http://schemas.android.com/apk/res/android" 4 android:ori

Android内存泄漏的本质原因、解决办法、操作实例

今年最后一个迭代终于结束了,把过程中碰到的不熟悉的东西拉出来学习总结一下 内存泄漏的本质是:[一个(巨大的)短生命周期对象的引用被一个长生命周期(异步生命周期)的对象持有] 这个东西分为两个部分 获得一个(巨大的)短生命周期的对象 这个[巨大的短生命周期的对象]在Android中最有可能的就是[Activity]了 最容易无意识获得它的方式就是[非静态内部类隐式自动持有外部类的强引用] 把这个对象赋值给了一个长生命周期的对象 这个有一些常见的套路 套路一:直接赋值给了一个类的静态成员 这个静态成

Android开发实战之ViewPager的轮播

在安卓开发的许多控件中,如果你没有使用过ViewPager,就不能算是一个安卓开发工程师,在本篇博文中,我会总结ViewPager的使用方法, 以及一些开发中的拓展.希望本篇博文对你的学习和工作有所帮助. **ViewPager的基本使用** ViewPager的使用遵循MVC模式,M(模型),V(视图),C(控制器).模型就是viewpager对象,视图就是xml视图,控制器就是适配器adapter.所以, 要实现一个完整的ViewPager这三个东西一个都不能少. xml: <?xml ve

Android打开飞行模式和拔出耳机时自动退出FM Radio应用

FM收音机需要插入耳机作为天线,拔出耳机时要自动退出 1.首先添加提示字符串 mediatek/packages/apps/FMRadio/res/values/strings.xml <!--TChip ZJ Add Below--> <string name="toast_plugin_headphone_before_FM">The FM will close because you have been plug out the headphone<