你能告诉我最好的做法是将活动或上下文传递给其他实例(;)
但…,
>最好通过什么?活动或背景
>将活动视为全局(公共静态活动活动)是个好主意
here是我的代码.你会改变什么? (基于良好的AndroID实践)
解决方法:
将Activity传递给另一个不特别需要Activity对象的对象通常是个坏主意. Activity扩展了Context,因此它可以满足需要Context的方法.
在您的情况下,您可以从传递给方法的VIEw中获取Context.但是,如果您需要将Context用于其他目的,则应避免传递Activity并执行类似Activity.getApplicationContext()的 *** 作.
这样做的原因是,如果将活动传递给Activity的对象的生命长于活动,则对Activity的引用将阻止AndroID执行正确的垃圾收集(GC)并消耗不必要的内存.这称为“内存泄漏”.
编辑:
要处理需要调用Activity.findVIEwByID()的情况,请记住这些事项.首先,这是一个VIEw方法(http://developer.android.com/reference/android/view/View.html#findViewById(int)),所以一定要从正确的视图中调用它.
其次,如果您需要来自活动的视图,则应将其作为WeakReference传递
总结以上是内存溢出为你收集整理的android – 将Activity或Context传递给其他实例全部内容,希望文章能够帮你解决android – 将Activity或Context传递给其他实例所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)