我已经阅读了文章http://developer.android.com/resources/articles/avoiding-memory-leaks.html.在本文中,建议使用带弱引用的静态内部类.
public class galleryVIDeo extends Activity { private int AUdio_NO = 1; ........................... ................ @OverrIDe public voID onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); gallery = (gallery) findVIEwByID(R.ID.examplegallery); gallery.setAdapter(new AddimgAdp(this)); } static public class AddimgAdp extends BaseAdapter { private int galItemBg; private Context cont; private WeakReference<galleryVIDeo> mgalleryVIDeo; public AddimgAdp(Context c) { mgalleryVIDeo = new WeakReference<galleryVIDeo>(c); TypedArray typArray = obtainStyledAttributes(R.styleable.gallerytheme); galItemBg = typArray.getResourceID(R.styleable.gallerytheme_androID_galleryItemBackground, 0); typArray.recycle(); } public long getItemID(int position) { final galleryVIDeo galleryVIDeo = mgalleryVIDeo.get(); if(galleryVIDeo == null){ if(galleryVIDeo.AUdio_NO==4){ .................. ............... } } } }}
对于弱参照的内部类,它是正确的方法吗?以上代码内存是否泄漏安全?
解决方法:
如果仅在galleryVIDeo活动中使用Adapter对象,则无需使用弱引用.
您的代码段是内存泄漏安全的,它取决于您对该代码段之外的那些对象所执行的 *** 作,不管您的应用程序是否正常.
只需确保在Activity中没有创建任何对象,该对象具有对该Activity的引用(特别是包括非静态内部类和匿名类)离开Activity.
总结以上是内存溢出为你收集整理的内在类的Android弱参考全部内容,希望文章能够帮你解决内在类的Android弱参考所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)