Android中区域设置的弱参考

时间:2013-05-09 03:24:06

标签: java android performance garbage-collection weak-references

请检查此代码:

TelephonyManager tm = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE);
Locale loc = null;
WeakReference<Locale> locWeak = new WeakReference<Locale>(loc);
String country = locWeak.get().getDisplayCountry(new Locale("", tm.getSimCountryIso()));
Log.i(TAG,"Country is: "+country);

WeakReference在这里有点无用,因为我在“新语言环境”中强有力的引用。

任何人都可以建议WeakReference采用更好的方法:

Locale loc = new Locale("",tm.getSimCountryIso());

我使用WeakReference的原因是因为我不需要依赖此Object,因为随着应用程序的进展它变得无用。其次,我需要保持清洁的记忆,因为我稍后需要做一些繁重的任务。

由于

1 个答案:

答案 0 :(得分:0)

如果有人检查这个:

在对类似主题进行研究之后,我得出结论:在此函数中使用WeakReference在内存中比使用StrongReference更昂贵。

检查此链接:https://stackoverflow.com/a/16975197/415038这是我的另一个问题。那里有完整的答案。