Ⅰ android 中 BitmapFactory 的内存怎样回收
手敲原创,复制或转载请注明。!
因为Android也是java,所以它的回收机制也是自动回收。
回收机制中,有 年轻代 和 老年代 的说法,年轻代就是尚在使用的内存对象或者在此之前不久都还在被使用的内存对象,老年代中就是所有已未使用或者被赋null的对象,所谓的自动回收,就是不断的将不用的或为null的对象从年轻代中移至老年代中,并清除老年代中的所有对象。
所以--------->我们应当把我们不再用的对象主动的赋null,这样就主动的交至老年代了,就被Android回收了。
Ⅱ android 如何更好的回收内存空间,有没有强
Android内存优化大全
OOM:
内存泄露可以引发很多的问题:
1.程序卡顿,响应速度慢(内存占用高时JVM虚拟机会频繁触发GC)
2.莫名消失(当你的程序所占内存越大,它在后台的时候就越可能被干掉。反之内存占用越小,在后台存在的时间就越长)
3.直接崩溃(OutOfMemoryError)
ANDROID内存面临的问题:
1.有限的堆内存,原始只有16M
2.内存大小消耗等根据设备,操作系统等级,屏幕尺寸的不同而不同
3.程序不能直接控制
4.支持后台多任务处理(multitasking)
5.运行在虚拟机之上
5R:
本文主要通过如下的5R方法来对ANDROID内存进行优化:
1.Reckon(计算)
首先需要知道你的app所消耗内存的情况,知己知彼才能百战不殆
2.Rece(减少)
消耗更少的资源
3.Reuse(重用)
当第一次使用完以后,尽量给其他的使用
5.Recycle(回收)
返回资源给生产流
4.Review(检查)
回顾检查你的程序,看看设计或代码有什么不合理的地方。
详细
Ⅲ Android系统回收activity行为
安卓本身不支持内存分页交换技术,是通过回收activity的方式来回收内存的。.activity处于onPause或者onStop状态时,假如系统资源不足(内存不足),会被系统回收释放。
系统回收内存会存在两种行为:
1.当APP不在前台的时候,资源紧张,强杀APP进程并回收activity,这种情况不会调用生命周期的onDestroy方法。可以用“开发者选项”中的“限制后台进程数”来模拟这种情况。
2.当APP在前台,系统资源不足的时候,会回收APP处于pause或stop状态的Activity,这种情况不杀进程,但会调用onDestroy方法。可以用“开发者选项”中的“不保留活动”打开,来模拟这种情况。
因此,平时在onCreate方法里注册监听register,在onDestroy方法里反注册unregister不会有问题。因为假如是情况1,进程被杀掉了,不执行onDestroy方法也没事,进程都没了,就无所谓内存泄露的事。假如是情况2,那么会执行onDestroy方法反注册。
欢迎留言讨论,或指正问题。
Ⅳ android 中弹出的dialog怎么回收内存
dismissDialog(int):当你准备关闭对话框时,你可以通过对这个对话框调用dismiss()来消除它。如果需要,你还可以从这个Activity中调用dismissDialog(int id) 方法,这实际上将为你对这个对话框调用dismiss() 方法。 如果你想使用onCreateDialog(int id) 方法来管理你对话框的状态(就如同在前面的章节讨论的那样),然后每次你的对话框消除的时候,这个对话框对象的状态将由该Activity保留。如果你决定不再需要这个对象或者清除该状态是重要的,那么你应该调用removeDialog(int id)。
Ⅳ 在Android中怎么节省内存的使用,怎么主动回收内存
这个没有说自动的,最好的方法就是下载个手机卫士软件,里面基本都带有所谓的手机加速,内存清扫功能
Ⅵ 安卓手机回收站在哪里
目前三星上市的智能手机/平板电脑暂无回收站功能。早期上市的非智能机器C6112C自带回收站,操作:设定-回收站-选项-停用/启用回收站(回收站仅保存最新删除的文件)。
Ⅶ 安卓手机如何回收
安卓手机不能使用的情况下也可以做回收处理。首先有些回收店,他会专门的回收旧手机。不过这种回收旧手机的价值都比较低,一般一个手机只能换一个脸盆。还有一种情况,就是可以在网上做二手处理。这种情况下你可以和对方谈价格,价值量会高一些。
Ⅷ 有关android回收对象的问题
你的t1和t2class对象虽然定义在Oncreate()函数外面,但是却是在函数里面实例化的。当你的程序初始化Activity之后(即调用完Oncreate()函数之后)便会释放大括号里面所有变量所占用的内存空间,而finalize()相当如充当回收函数第一个被调用,不过回收过程并不是我们理解的一经调用立马回收,而是系统等到回收的资源达到一定的数目时才统一回收。(以上仅属个人理解建议用debug单步调试看看)
Ⅸ android view怎么回收
切换Layout的话,你的Activity将长驻内存,也就是说你的应用中该Activity始终都是存在的,调用另外一个Activity的话,上一个Activity实例就会被销毁和回收掉的.如果不想在程序中让Activity数量过多,你可以考虑用Layout方式.