zoukankan      html  css  js  c++  java
  • 安卓性能优化之清除Handler的Message和Runnable

    安卓性能优化之清除Handler的Message和Runnable

    Handler是由系统所提供的一种异步消息处理的常用方式,一般情况下不会发生内存泄露.

    但既然是调优,当在A_Activity中使用handler发送了几个消息,然后又跳到B_Activity,这个时候如果我们想结束之前在A_Activity中发出的消息,不再占用多余的队列空间.怎么办呢?

    原来,Handler中已经提供了一个removeCallbacksAndMessages去清除Message和Runnable:

    [java] view plain copy
     
    1. handler.removeCallbacksAndMessages(null);  


    将方法参数设为null.

    在Activity的销毁方法onDestroy()中调用该方法即可.

    题外话:

    熟悉Activity的生命周期是能让应用在性能调优时达到更好的实现方式. 比如onDestroy() 方法,onPause()方法等等, Activity销毁前生命周期会进入onDestroy(),当前Activity所用过且不再需要的占用内存的资源可以在这里进行一些处理, 比如将不再使用的视图资源清除掉,将正在访问而不再需要的网络连接给终止掉,将消息队列中不再需要的消息清除等等.这样当不断打开新的页面Activity,也能将应用多余的内存缓存尽量减少一些达到调优的目的.

     https://blog.csdn.net/stzy00/article/details/43988213

    定时器 ,也可以才去这种方式处理。没有消息,就不会继续后边的操作。

  • 相关阅读:
    c# udp局域网通信
    wpf 空白汉字占位符
    直角三角形知道变长求夹角
    windowsphone 的IsolatedStorageSettings存储类型
    WPFUIElement的Background的问题
    oracle外表
    oracle安装
    数据库ddl,dml,dcl
    OLTP与OLAP的介绍
    四种XML解析方式详解
  • 原文地址:https://www.cnblogs.com/wcLT/p/8670690.html
Copyright © 2011-2022 走看看