Android的OutOfMemory解决-创新互联

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

创新互联建站拥有一支富有激情的企业网站制作团队,在互联网网站建设行业深耕十多年,专业且经验丰富。十多年网站优化营销经验,我们已为上千余家中小企业提供了网站设计制作、成都网站建设解决方案,按需开发,设计满意,售后服务无忧。所有客户皆提供一年免费网站维护!

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

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

如:

  1.           android:orientation="vertical"

  2.           android:background="@drawable/main_background"

  3.           android:id="@+id/mian_bg"

  4.           android:scaleType="fitXY"

  5.           android:gravity="center"

  6.           android:layout_width="fill_parent"

  7.           android:layout_height="fill_parent"

  8.       >

  9.   

  10.         android:layout_gravity="center"

  11.         android:src="@drawable/img_main_roll0"

  12.         android:id="@+id/main_cion"

  13.         android:layout_width="180dp"

  14.         android:layout_height="180dp"/>

  15. 先获取图片控件:

  16. public ImageView p_w_picpathView;

  17. public LinearLayout linearLayout;

  18. p_w_picpathView=(ImageView)findViewById(R.id.main_cion);

  19. linearLayout=(LinearLayout)findViewById(R.id.mian_bg);

  20. 应在次Activity销毁时释放

  21. protected void onDestroy() {

  22.       super.onDestroy();

  23.       p_w_picpathView.setImageBitmap(null);//释放

  24.       linearLayout.setBackground(null);

  25.       System.gc();//通知进行回收

  26.   }

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

  28. bitmap.recycle();

  29. 总结:

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

  31. android:background  ,

  32. 还是在java代码中调用了:

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

  34. setBackgroundDrawable( background)--------API16-

  35. setBackgroundResource( resid)

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

  37. 使用的时候,请调用一下对应的方法:

  38. setBackgroundResource和 android:background → setBackgroundResource(0);

  39. setBackgroundDrawable( background) → setBackgroundDrawable (null)

  40. setBackground ( background ) → setBackground ( null )

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

复制代码

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

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

另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


分享标题:Android的OutOfMemory解决-创新互联
本文URL:http://hbruida.cn/article/igsgh.html