`
hm4123660
  • 浏览: 282510 次
  • 性别: Icon_minigender_1
  • 来自: 广州
博客专栏
Dea4ce76-f328-3ab2-b24a-fb268e1eeb75
数据结构
浏览量:70023
社区版块
存档分类
最新评论

Android的OutOfMemory解决

阅读更多

安卓开发中应注意内存的释放,一旦加载图片或其他占用太多内存,此时就会发生OOM错误,即内存泄露。

 

在开发中,尤其应注意图片资源的释放。

1。背景图片和ImageView释放------尤其注意图片资源

如:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
              android:orientation="vertical"
              android:background="@drawable/main_background"
              android:id="@+id/mian_bg"
              android:scaleType="fitXY"
              android:gravity="center"
              android:layout_width="fill_parent"
              android:layout_height="fill_parent"
        >

   <ImageView
            android:layout_gravity="center"
            android:src="@drawable/img_main_roll0"
            android:id="@+id/main_cion"
            android:layout_width="180dp"
            android:layout_height="180dp"/>
      

</<LinearLayout>

 

先获取图片控件:

 public ImageView imageView;
 public LinearLayout linearLayout;

 

 imageView=(ImageView)findViewById(R.id.main_cion);
 linearLayout=(LinearLayout)findViewById(R.id.mian_bg);

应在次Activity销毁时释放

 protected void onDestroy() {
        super.onDestroy();
        imageView.setImageBitmap(null);//释放
        linearLayout.setBackground(null);
        System.gc();//通知进行回收
    }

 

使用Bitmap记得不用时调用回收

bitmap.recycle();

 

 

总结:

无论你是在xml中布局使用了:

 

android:background   ,

 

还是在java代码中调用了:

 

setBackground( background );-------API16+

 

setBackgroundDrawable( background)--------API16-

 

setBackgroundResource( resid)

 

 的方式去设置了背景图片.

 

使用的时候,请调用一下对应的方法:
setBackgroundResource和 android:background → setBackgroundResource(0);

 

setBackgroundDrawable( background) → setBackgroundDrawable (null)

 

setBackground ( background ) → setBackground ( null )  

然后再onDestory中调用System.gc();

 

 

2.确定不用的List,数组等参数

释放:Obj=null即可,list先clear(),在令其等于null;如内存紧张,可及时调用Syetem.gc()通知进行回收

 

 

分享到:
评论

相关推荐

    android bitmap outOfMemory解决方法

    7. **监控内存使用**:利用Android的`ActivityManager`或第三方工具如MAT(Memory Analyzer Tool),可以分析应用的内存使用情况,找出内存泄漏和不必要的内存占用。 通过以上方法,开发者可以有效地管理和控制...

    android camera out of memory安卓照相机OOM问题的解决

    如果不能使用,请修改根目录下的project.property的android:target为你当前有的target(不知道怎么改的同学可以从8到21一个个数字去试哦) 程序实现点击屏幕后聚焦拍照功能,并把图片存入sd卡camera目录下。但打开时无...

    Git使用小坑 Out of memory错误的解决方法

    首先,当遇到"Out of memory, malloc failed"的错误时,最直观的解决思路是检查和调整系统的内存。在案例中,用户尝试通过结束不必要的进程、增大虚拟机内存来解决,但这些方法并未奏效。这是因为Git在处理大量对象...

    Android完美解决GridView异步加载图片和加载大量图片时出现Out Of Memory问题

    然而,当处理大量图片时,特别是在用户滚动时实时加载,可能会遇到内存溢出(Out Of Memory,简称OOM)的问题。这是因为Android系统为每个应用程序分配的内存有限,而加载大图或大量图会消耗大量内存。因此,我们...

    imageview,imageswitcher显示SD卡图片,并且解决out of memory问题

    总结来说,解决Android中的“Out of Memory”问题,关键在于正确地加载和管理图像资源。对于`ImageView`和`ImageSwitcher`,合理使用上述技巧可以有效降低内存消耗,提高应用的性能和稳定性。在处理SD卡上的图片时,...

    HBuilderX uniapp打包内存溢出解决放案.zip

    uniapp项目体量过大时,打包H5会报错, - process out of memory 解决放案: 替换HBuildX内置\HBuilderX\plugins\node\node.exe版本 添加\HBuilderX\plugins\compile-node-sass\node_modules\node-sass-china\...

    Android-OOM.rar_memory android_memory for Android_out

    在Android开发过程中,"Out Of Memory"(OOM)错误是一个常见的问题,特别是在处理大量数据、图像或者长时间运行的任务时。这个错误表示应用程序消耗了过多的内存,超过了系统分配的限制,导致系统无法再为该应用...

    Android系统重启问题的归类

    OOM(Out Of Memory)导致的panic:当系统内存资源耗尽,内核无法找到可杀进程时,会触发“Kernel panic - not syncing: Out of memory and no killable processes...”。这类问题通常与内存管理有关,可能涉及某些...

    Android 加载大图及多图避免程序出现OOM(OutOfMemory)异常

    Android 加载大图及多图避免程序出现OOM(OutOfMemory)异常 Android 加载大图及多图避免程序出现 OOM(OutOfMemory) 异常是 Android 开发中常见的问题。为了解决这个问题,我们需要了解 Android 的内存管理机制和...

    android 图片下载 有效解决内存溢出问题

    在Android开发中,图片下载和显示是常见的操作,但如果不恰当处理,很容易引发内存溢出(Out of Memory,简称OOM)问题。内存溢出是指程序在申请内存时,没有足够的内存空间供其使用,导致程序崩溃。对于Android应用...

    Android加载大图片OOM异常解决

    在 Android 开发中,加载大图片是一个常见的问题,这可能会引发 OOM(Out of Memory)异常。OOM 异常是指应用程序试图分配超过系统可用内存的内存空间,从而导致应用程序崩溃。为了解决这个问题,开发者需要了解 ...

    Android相册图片解决OOM问题

    在Android开发中,由于内存管理机制的特性,开发者经常面临一个棘手的问题——Out Of Memory (OOM)。尤其是在处理图片时,如果不加以控制,大量图片的加载和显示可能导致应用程序崩溃。"Android相册图片解决OOM问题...

    Android解决图片OOM问题

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

    android解决OOM

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

    Android加载网络图片与本地图片解决OOM问题

    在Android开发中,图片加载是常见的任务,但同时也是导致内存溢出(Out Of Memory, OOM)问题的主要原因之一。特别是当处理大量图片,如在ListView或RecyclerView中滚动时,如果没有正确的图片管理策略,图片加载...

    http://elinux.org/Android_Memory_Usage

    4. **内存溢出**:分析OOM(Out of Memory)错误,理解触发条件,以及如何通过优化代码和设置合适的内存限制来防止溢出。 5. **内存分析工具**:Android Studio中的内存分析器如何工作,如何捕捉内存快照,比较不同...

    android解决加载图片内存溢出

    在Android开发中,图片加载是常见且关键的操作,但如果不恰当处理,很容易导致内存溢出(Out of Memory,简称OOM)问题。内存溢出不仅会影响应用的性能,降低用户体验,严重时甚至会导致应用崩溃。本篇文章将深入...

    Android 图片压缩不OOM,超高保真度

    然而,由于Android系统对内存管理的特性,处理大图时容易导致“Out Of Memory”(OOM)错误,这会严重影响应用的性能和稳定性。本篇文章将围绕“Android 图片压缩不OOM,超高保真度”这一主题,深入探讨如何在保持...

    赋予ANDROID-root权限

    - 当使用`adb push`命令向模拟器推送文件时,如果模拟器的存储空间不足,会出现“Out of memory”的错误提示。 - 解决方案是在启动模拟器时增加分区大小,如上文所述的命令: ``` emulator -avd youravdname -...

Global site tag (gtag.js) - Google Analytics