Android-приложение с двумя решениями для передачи данных между действиями (без намерений, пожалуйста!)
public class A {
public static LinkedHashMap<String,String> hashStore = new LinkedHasMap<String,String>();
public void doHttp(){
//Some HTTP call and store some json value
hashStore.put("data","jsonKeyValue");
}
public void onDestroy(){
hashStore.remove(key);// remove data key
hashStore.clear();
}
}
public class B {
public void getHttp(){
//Some HTTP call
String extra = A.hashStore.get("data");
}}
// SharedPreference Call
public class A{
SharedPreference hashPref ; //declaration on onCreate
public void dohttp(){
//Some Http and Store value in SharedPreferences
hashPref.put("data","jsonkeyvalue");
hashPref.apply();
}}
public class B{
SharedPreference hashPref ; //declaration on onCreate
public void getHttp(){
//Some HTTP call
String extra = hashPref.get("data");
}}
- Какой из них лучше подходит для уменьшения утечек памяти?
- Если я храню более 30-40 ключей, какой из них предпочтительнее?
- Если я использую общие настройки, я не потеряю производительность при проверке и обновлении ключей ??
- Есть ли альтернатива, которую я мог бы использовать вместо этих двух решений? (Не упоминайте здесь Intent Extras.)