android释放内存的一个办法

step1:定义一个监听接口step2:androidapplication文件中添加如下代码//初始化//注册监听//内存空间过低的时候,被系统调用step3:那些浪费内存的地方,

大家好,又见面了,我是全栈君,今天给大家准备了Idea注册码。

step 1:定义一个监听接口

public static interface OnLowMemoryListener {  
        void onLowMemoryReceived();  
    }  /* 何问起 hovertree.com */

step 2:android application文件中添加如下代码

 

//初始化

private ArrayList<WeakReference<OnLowMemoryListener>> mLowMemoryListeners;  
/* 何问起 hovertree.com */
public MyApp() {  
        mLowMemoryListeners = new ArrayList<WeakReference<OnLowMemoryListener>>();  
    }  /* 何问起 hovertree.com */

//注册监听

public void registerOnLowMemoryListener(OnLowMemoryListener listener) {  
        if (listener != null) {  
            mLowMemoryListeners  
                    .add(new WeakReference<MyApp.OnLowMemoryListener>(listener));  
        }  
    }  
//移除监听  
    public void unregisterOnLowMemoryListener(OnLowMemoryListener listener) {  
        if (listener != null) {  
            int i = 0;  
            while (i < mLowMemoryListeners.size()) {  
                final OnLowMemoryListener l = mLowMemoryListeners.get(i).get();  
                if (l == null || l == listener) {  
                    mLowMemoryListeners.remove(i);  
                } else {  
                    i++;  
                }  
            }  
        }  
    }  /* 何问起 hovertree.com */

//内存空间过低的时候,被系统调用

@Override  
    public void onLowMemory() {  
        super.onLowMemory();  
        int i = 0;  
        while (i < mLowMemoryListeners.size()) {  
            final OnLowMemoryListener l = mLowMemoryListeners.get(i).get();  
            if (l == null) {  
                mLowMemoryListeners.remove(i);  
            } else {  
                l.onLowMemoryReceived();  
                i++;  
            }  
        }  
    }  /* 何问起 hovertree.com */

step 3:那些浪费内存的地方,比如图片缓存,可以实现并注册这个监听

推荐:http://www.cnblogs.com/roucheng/p/androidtuichu.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/120344.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • YourPHP笔记

    YourPHP笔记

    2021年10月9日
    72
  • 决策树的原理_决策树特征选择

    决策树的原理_决策树特征选择决策树的原理:根据树结构进行决策,可以用于分类和回归。一颗决策树包括一个根结点、若干个内部节点和若干个叶节点。从根节点出发,对每个特征划分数据集并计算信息增益(或者增益率,基尼系数),选择信息增益最大的特征作为划分特征,依次递归,直至特征划分时信息增益很小或无特征可划分,形成决策树。决策树优点1.计算复杂度不高;2.输出结果易于理解;3.不需要数据预处理;4…

    2025年8月28日
    6
  • tomcat运行solr

    tomcat运行solr

    2021年6月16日
    85
  • ipfs是什么挖矿机制(目前最好的ipfs矿机)

    尽管近期市场正在复苏,但FIL仍在50U左右波动,并未出现太大波动,许多投资者都望而却步。IPFS/FIL不错。为什么货币价格不上涨?这种现象其实已经不正常了,价格的波动和数据的修改都不可能在正常的情况下处于正常的状态,相信华雷新山不会出现任何数字货币的不涨不跌,以前的程序员10年5月btc1万现在10。1000个比特币相当于4亿u。11年过去了,现在还不知道哪位程序员。btc用了将近11年的时间才证明了它的价值。对今天的大多数普通人来说,这是一个不能实现的梦想。eth的概念最初是Vita.

    2022年4月14日
    68
  • vue-cli工程 中组件注册 ,父组件向子组件传值

    vue-cli工程 中组件注册 ,父组件向子组件传值

    2021年6月21日
    90
  • BCGControlBar31 GUI Professional Crack

    BCGControlBar31 GUI Professional CrackBCGControlBarProforMFCversionsΩ578867473Version31.3.Released06/15/2021AnewclassCBCGPPropertyManager(seescreenshot)implementsaneasyandefficientwaytocreateyourapplicationproperties(options)fromXMLfile,bindpropertiestoCBCGPPr.

    2025年8月19日
    3

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号