内在类的Android弱参考

内在类的Android弱参考,第1张

概述我已经阅读了文章http://developer.android.comesources/articles/avoiding-memory-leaks.html.在本文中,建议使用带弱引用的静态内部类.publicclassGalleryVideoextendsActivity{privateintAUDIO_NO=1;...........................................

我已经阅读了文章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弱参考所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/1117560.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-29
下一篇 2022-05-29

发表评论

登录后才能评论

评论列表(0条)

保存