`

尽量避免android oom

 
阅读更多


多数时候,发生OOM 都是在做一些跟图片相关的操作,以下提出一些建议尽量可以减少这种情况的发生:
  1.decode bitmap 的时候,尽量配置下Options,例如:inSameSize
  2.Bitmap使用完以后,调用 bitmap.recycle()来释放内存
  3.如果应用是基于图片的应用,尽量采用LazyLoad和DymanicRecycle
  4.decode bitmap 的时候,将decode代码 try catch 出来,catch oom error,避免程序crash,可以在catch里面做一些释放内存操作

分享到:
评论
发表评论

文章已被作者锁定,不允许评论。

相关推荐

    Android OOM错误的原因

    ### Android OOM错误的原因 在Android开发过程中,经常会遇到一种常见的异常——OutOfMemoryError(简称OOM),这主要是因为Android为了确保设备性能与响应速度,在内存管理方面设定了严格的限制。对于每个应用程序...

    android解决OOM

    在Android开发中,"OOM"(Out of Memory)是一个常见的问题,它指的是应用程序在运行过程中耗尽了可用的内存,导致系统无法分配更多的内存资源,从而引发崩溃。为了解决这个问题,开发者需要深入理解Android内存管理...

    Android解决图片OOM问题

    在Android开发中,Out Of Memory (OOM) 是一个常见的问题,尤其在处理图像资源时更为突出。本示例主要探讨如何解决Android应用中的图片OOM问题,以确保应用的稳定性和性能。 首先,我们需要理解Android系统对内存...

    安卓图片压缩类,避免内存溢出OOM

    - **异步加载**:尽量避免在主线程中进行图片加载,以免阻塞UI。可以使用 AsyncTask 或者 Handler/Looper 进行异步处理。 - **避免无用的引用**:确保没有 Activity 或其他组件持有对 Bitmap 的引用,以防内存泄漏...

    加载图片oom的解决

    在Android开发中,由于系统对每个应用程序分配的内存有限,加载大尺寸的图片可能会导致“Out Of Memory”(OOM)异常,从而影响应用的稳定性和性能。为了解决这个问题,我们需要掌握一些有效的策略来优化图片加载,...

    解决帧动画OOM问题

    此外,尽量使用矢量图(如SVG),因为它们可以在不同分辨率下保持清晰,且文件大小较小。 2. **使用Nine-Patch**:对于需要拉伸的图片,使用Nine-Patch(.9.png)格式可以只存储需要拉伸的部分,节省内存。 3. **...

    图片下载以及内存处理防OOM.zip

    5. **避免大数据对象**:尽量避免一次性加载大量数据,分批次加载或使用列表滚动时动态加载。 三、源码学习 理解Android系统如何处理内存和图片加载,有助于我们编写更高效的代码。例如,研究BitmapFactory....

    安卓Andriod源码——图片下载以及内存处理防OOM.zip

    8. **避免大对象**:尽量避免一次性加载大量数据,尤其是大图片,分批加载或懒加载可以缓解内存压力。 9. **资源回收**:在不再使用Bitmap时,及时调用recycle()方法释放资源,但要注意不要在可能被再次使用的...

    android bitmap处理

    7. **避免不必要的内存拷贝**:在使用Bitmap时,尽量减少复制操作,如传入Bitmap到其他函数时,尽量传递引用而不是复制。 8. **内存预算和监控**:通过ActivityManager.getMemoryClass()和ActivityManager....

    Android LMK机制简介

    虽然Linux的oom killer能够应对大多数低内存情况,但在Android这种高度定制化的环境中,oom killer存在一些明显的局限性: - **响应速度慢**:oom killer通常在内存极度紧张时才会被触发,此时可能已经对用户体验...

    Android Animation Frame逐帧动画2

    3. 如果可能,尽量使用九宫格(Nine-Patch)图像来减少内存占用,因为它们允许图像拉伸而不失真。 4. 在不使用动画时,记得释放资源,避免内存泄漏。 总之,Android的Frame动画是创建简单动画的有效手段,适用于像...

    android 360°全方面性能调优.pdf

    《Android 360°全方面性能调优》是一本深度探讨Android系统性能优化的宝典,涵盖了设计思想、代码优化、程序性能、内存管理、功耗控制、网络通信、应用打包、屏幕适配、启动速度、流畅度、ANR问题、崩溃监控、OOM...

    Android瀑布流照片墙实现,体验不规则排列的美感

    例如,尽量使用低分辨率的图片,避免在内存中持有大量大对象,及时释放不再使用的资源,以及适时地清理缓存。 7. 网络请求和异步处理:为了不阻塞UI线程,图片的下载和加载应该在后台线程进行。可以使用AsyncTask、...

    【腾讯Bugly干货分享】Android 进程保活招式大全1

    Android使用`Lowmemorykiller`守护进程来管理内存,它基于`OOM_ADJ`(Out-Of-Memory Adjuster)评分进行进程的优先级判断。评分越高,进程越容易被杀。通常,评分在4及以上的进程较为脆弱,而较低评分的进程则更不易被...

    有关android 內存泄漏的问题

    ### 有关Android内存泄漏的问题及解决方案 ...综上所述,理解Android系统的内存管理机制以及如何有效地管理应用内存对于避免OOM错误至关重要。通过对内存使用习惯的改进和优化,可以显著提高应用的性能和用户体验。

    android开发技巧与性能优化

    - 使用`BitmapFactory.Options`预加载图片,避免OOM异常。 3. **内存泄漏防范**: - 关注Activity、Fragment的生命周期,避免非静态内部类持有外部对象的引用。 - 及时释放不再使用的资源,如Bitmap对象等。 - ...

    Android GIF图片播放实现

    在处理大尺寸GIF时,可能会遇到内存溢出(OOM)的问题。这是由于Android系统对每个应用分配的内存有限,特别是加载大型图片时。为避免这个问题,我们可以采取以下策略: - **缩放GIF**: 在加载之前先进行缩放,减少...

    android对linux内核的改造及影响

    - **避免增加系统调用**:尽量利用现有的系统调用接口,以减少复杂度。 #### 二、Android与硬件的关系 操作系统的一个关键职责是为硬件提供统一的接口,以便用户空间的应用程序能够方便地访问这些硬件资源。在...

    android 优化内存方案

    - 尽量避免使用非静态内部类,除非它们需要访问外部类的实例。 - 避免不必要的对象创建,例如使用StringBuffer代替String进行字符串拼接。 7. **资源回收**: - Activity和Fragment的生命周期管理,确保在适当的...

Global site tag (gtag.js) - Google Analytics