このコードを確認してください:
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
第二に、後でいくつかの重いタスクを実行する必要があるため、クリーンなメモリを保持する必要があります.
ありがとう