我正在开发一个处理位图的Android应用程序。现在我正在使用LRUCache来存储这些位图,但是会有多个片段需要访问此缓存。处理全局应用程序缓存的最佳方法是什么?我应该使用单身人士吗?我应该为每个需要访问它的活动/片段创建一个新的缓存吗?
答案 0 :(得分:0)
为了避免Android开发中的单身人士,就像你的问题一样,我会建议任何人使用Fragments在MainActivity中存储真正的全局对象。它应该是这样的:
MainActivity:
public class MainActivity extends FragmentActivity{
//eg a ArrayList
private ArrayList<MyObjects> mObjectContainer = new ArrayList<MyObject>();
//Do something with the list and fill it
public ArrayList<MyObjects> getObjectContainer(){
return mObjectContainer;
]
public void addObject(MyObject object){
if(!mObjectContainer.contains(object)){
mObjectContainer.add(object);
}
}
}
片段:
public class MyFirstFragment extends Fragment{
onCreateView(...){
//make typical Fragment init like create View
ArrayList<MyObjects> list = ((MainActivity)getActivity()).getObjectContainer();
//add a new Object
((MainActivity)getActivity).addObject(new MyObject("any data"));
}
}