`
ycljf86
  • 浏览: 78375 次
  • 性别: Icon_minigender_1
  • 来自: 苏州
社区版块
存档分类
最新评论

看看背景图如何吃掉你的内存的

 
阅读更多
这里有两个页面  loading  login, 两个页面都用了 1920*1080的图片,还是 32bit的。
程序一开始loading 页面 就吃掉了30m, 后来跳到login,又吃掉了30m,然后。我去掉了
loading的背景图,立马内存变成了39m了。可以想象一个这么大的图片 吃掉了 30m的内存
多么的恐怖

解决方案
不要在xml里面加背景图片, 用代码来加,并且回收
 private void initBg(){
        Bitmap bm = BitmapFactory.decodeResource(this.getResources(), R.drawable.bg_reg);
        BitmapDrawable bd = new BitmapDrawable(this.getResources(), bm);
        bg_ll.setBackgroundDrawable(bd);
    }


 @Override
    protected void onDestroy() {
        if(bg_ll!=null){
            BitmapDrawable bd = (BitmapDrawable)bg_ll.getBackground();
            bg_ll.setBackgroundResource(0);//别忘了把背景设为null,避免onDraw刷新背景时候出现used a recycled bitmap错误
            if(bd!=null){
                bd.setCallback(null);
                bd.getBitmap().recycle();
            }
        }
        System.gc();//不gc  系统不会立刻释放背景图片内存
        super.onDestroy();

    }




看看 我改了代码后 在 ondestory gc后的结果



  • 大小: 50.4 KB
分享到:
评论

相关推荐

    【安卓】吃掉内存2.0.rar

    【安卓】吃掉内存2.0 这个压缩包文件主要包含了一个名为“【安卓】吃掉内存2.0.apk”的应用软件,这显然是一款针对Android操作系统的应用程序。从标题和描述来看,该应用可能与内存管理和优化有关,可能是为了帮助...

    VB中MDI背景图片更改完美解决

    首先,你需要加载图片到内存,然后将`Picture`属性设置为加载的图片对象。这种方法简单直接,但可能无法实现拉伸或平铺等效果。 2. **自定义Paint事件**: 另一种方法是在窗体的`Paint`事件中绘制背景图片。首先,...

    MiniGUI 按键切换图片,背景图片,控件透明。

    接下来,让我们看看如何设置背景图片。在MiniGUI中,可以使用窗口或控件作为背景来显示图片。你可以使用`CreateWindowEx()`函数创建一个带有背景图片的窗口,或者在已有的控件上应用图片。这通常需要读取图片文件,...

    OPENGL 星空 背景 图像

    5. **随机化(Randomization)**:生成星星的位置、大小和亮度,使得星空看起来自然而不规则。 6. **动画(Animation)**:为了使星空动态,可以添加时间变量,使星星位置、颜色或亮度随时间变化,模拟它们的运动和...

    高仿android-QQ空间下拉背景图拉伸回弹效果

    本项目主要探讨如何实现“高仿Android-QQ空间下拉背景图拉伸回弹效果”,这是一个自定义ListView控件的实例,旨在模拟QQ空间主页面下拉时背景图片的动态变化,即图片随着手指滑动而拉伸,松手后又会回弹到原始状态。...

    FineReport/帆软大屏背景及边框图

    【FineReport/帆软大屏背景及边框图】是一个关于使用FineReport工具设计和创建大屏幕展示背景图像和边框元素的专题。FineReport是一款强大的报表设计软件,专为企业的数据分析和可视化需求而设计。在大数据时代,...

    仿QQ得背景图随手势拉伸而缩放的控件

    在Android开发中,"仿QQ得背景图随手势拉伸而缩放的控件"是一种常见的用户界面(UI)设计技巧,旨在提升用户体验。这种效果通常会在用户上下滑动列表时,让背景图像随着手势做出相应的拉伸和缩放动画,从而给予用户...

    使用VC++在有背景图片的对话框中实现静态文本的透明显示C++源代码程序小实例

    在这个过程中,你需要获取到对话框的DC(设备上下文),然后创建一个内存DC,再将背景图片位图选入内存DC。接着,使用BitBlt将内存DC的内容复制到对话框的DC,这样静态文本所在的位置就会显示背景图片,达到透明效果...

    Qt内存溢出检测

    在测试过程中,你可以运行包含VLD的程序,它会在控制台输出内存泄漏的详细信息,包括泄漏内存的大小、分配时的堆栈跟踪等。这样,你可以根据这些信息找到导致泄漏的代码位置并修复它。 在你的压缩包文件`test_...

    高并发内存池的内存释放流程图

    释放内存过程的调试

    java消息提示框,java气泡提示,自制背景图,可拖动,实用

    网上太难找到满意的例子了,花了一两天功夫找资料研究,终于搞出来了,做了张背景图,表面上已经完全看不出来是用Swing做的了。感兴趣的新同鞋可以自己试试,改改我的代码,用PS做做背景图,可以做出超炫超酷的消息...

    利用libjpeg在内存中进行图像压缩和解压缩

    本例子提供的时候是吧压缩后的数据存到内存,然后保存到文件中的,懂的人一看就明白,从函数调用的参数就可以看出来,原来要提供FILE *作为参数的,现在提供char *作为参数,也就是说,原来参数是文件句柄,现在是...

    美图看看 v2.2.7

    2.超低资源占用 看大图更快更爽 美图看看采用独创的缓存及预加载技术,浏览图片过程中占用内存不到同类软件的一半,低配置的电脑上也可流畅看大图,图片再多也不怕!3.更多分享 更多快乐美图看看提供更多的分享功能...

    openlayers实现本地图片作为背景,添加marker标记

    在JavaScript代码中,这部分可能会看起来像这样: ```javascript var imageSource = new ol.source.ImageStatic({ url: 'path/to/your/local/image.png', projection: 'EPSG:4326', // 你的图片的坐标系统,这里...

    css 背景图片平铺技巧

    使用css来设置背景图片同传统的做法一样简单,但相对于传统控制方式,css提供了更多的可控选项,我们先来看看最基本的设置图片的方法。xhtml代码: 复制代码代码如下:”content”> </div> css代码: 复制代码代码...

    数据图表3D化显示内存、CPU和磁盘运行状况

    易语言3D化显示硬件运行状态源码例程程序结合易语言应用接口支持库,分别用柱形、圆饼和线性图显示内存、CPU和硬盘的使用状态。本易语言例程源码是易语言论坛用户编写的教程,属于易语言图形图像教程。本易语言例程...

    Linux吃掉我的内存

    这正是Windows和Linux在内存管理上的区别,乍一看,Linux系统吃掉我们的内存(Linux ate my ram),但其实这也正是其内存管理的特点。  free命令介绍  下面为使用free命令查看我们实验室文件服务器内存得到的...

    内存检测工具MemTest64

    MemTest64桌面版内存检测工具,跟之前的MemTest Pro不是一个公司的产品,经测试来看MemTest64更先进,U盘网8G的内存测试了一下,它不会因为内存比较大而分成几个部分窗口来分别测试,所以它可以一口气把你的所有内存...

    内存映射读写文件的方法

    接下来,我们来看看如何在VC++中实现内存映射文件的步骤: 1. 打开文件:使用CreateFile函数打开或创建文件,获取文件句柄。例如: ```cpp HANDLE hFile = CreateFile("C:\\example.txt", GENERIC_READ | GENERIC_...

    WINCE和Windows Mobile上的透明控件,图片按钮,图片标签,支持窗体背景图

    最后,支持窗体背景图是一项重要的界面美化技术,可以使应用看起来更加生动。在.NET Compact Framework下,可以通过覆盖Form的OnPaint方法,使用Graphics对象绘制背景图片。这个DLL可能包含了处理窗体背景图的逻辑,...

Global site tag (gtag.js) - Google Analytics