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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • matlab中griddata函数,[转载]matlab中griddata函数应用示例「建议收藏」

    matlab中griddata函数,[转载]matlab中griddata函数应用示例「建议收藏」知道一系列点的坐标如下(1.486,3.059,0.1);(2.121,4.041,0.1);(2.570,3.959,0.1);(3.439,4.396,0.1);(4.505,3.012,0.1);(3.402,1.604,0.1);(2.570,2.065,0.1);(2.150,1.970,0.1);(1.794,3.059,0.2);(2.121,3.615,0.2);(2.570,3….

    2022年5月25日
    87
  • glPushMatrix和glPopMatrix的作用

    glPushMatrix、glPopMatrix操作其实就相当于栈里的入栈和出栈。  许多人不明白的可能是入的是什么,出的又是什么。例如你当前的坐标系原点在你电脑屏幕的左上方。现在你调用glPushMatrix,然后再调用一堆平移、旋转代码等等,然后再画图。那些平移和旋转都是基于坐上角为原点进行变化的。而且都会改变坐标的位置,经过了这些变化后,你的坐标肯定不再左上角了。  那如果想

    2022年4月6日
    60
  • CAS实现单点登录(SSO)经典完整教程

    CAS实现单点登录(SSO)经典完整教程一、简介1、cas是有耶鲁大学研发的单点登录服务器2、本教材所用环境Tomcat7.2JDK6CASService版本cas-server-3.4.8-rele

    2022年6月7日
    100
  • javawebservice_java web 框架

    javawebservice_java web 框架下面分别介绍一个这几种WebService框架的基本概念1、JWS是Java语言对WebService服务的一种实现,用来开发和发布服务。而从服务本身的角度来看JWS服务是没有语言界限的。但是Java语言为Java开发者提供便捷发布和调用WebService服务的一种途径。2、Axis2是Apache下的一个重量级WebService框架,准确说它是一个WebServices/SOAP/…

    2022年9月21日
    2
  • 图形推理题 答案揭晓图_图形推理1000题

    图形推理题 答案揭晓图_图形推理1000题本周一,小灰给大家出了一道图形推理题,有许多小伙伴都在踊跃作答,非常感谢大家的积极参与!原题如下,需要根据前两行的图形规律,找出第三行最后一个图形是什么:这道题的难度不小…

    2025年10月12日
    3
  • geostudio渗流教程_曲面静水压力计算

    geostudio渗流教程_曲面静水压力计算大家好,我是小马老师。本文继续介绍lammps模拟薄膜过滤的案例代码。在前面推文中,已经介绍了模型的建模过程。薄膜建模方法模型经过minimize能量最小化之后,进入弛豫阶段。因弛豫阶段代码较长,不再一一介绍各部分代码的功能,仅对代码中的几个比较重要的功能进行详细介绍。(1)薄膜固定及活塞墙的加压控制在模拟过程中,过滤薄膜不能移动,使用fixsetforce命令对其进行固定。fix mysf1membranesetforce000活塞墙在y、z方向需要固定,在x方向允许移动

    2025年9月23日
    5

发表回复

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

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