我正在开发一个 android 应用程序,其中有一个功能可以使用 asynctask 加载一些图像。我想如果我可以将这些图像保存为缓存,我可以在加载大量图像时提高应用程序的性能。我怎样才能做到这一点?如何在我的 android 应用程序中保留缓存?
我的课
public class MovieFragment extends Fragment {
private ViewPager viewPager;
private PageAdapter pageAdapter;
private ViewPageAdapter adapter;
private ArrayList<BaseElement> filmCategory;
private Fragment fragment;
private Activity activity;
private CommonVariable commonVariable;
private FilmCategory category;
private Dialog dialog;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.movie_fragment, container, false);
fragment = this;
activity = this.getActivity();
commonVariable = (CommonVariable) activity.getApplication();
viewPager = (ViewPager) view.findViewById(R.id.news_page_viewpager);
dialog = new Dialog(this.getActivity(),
android.R.style.Theme_Translucent_NoTitleBar);
new BackGround().execute();
return view;
}
public class BackGround extends AsyncTask<Void, Void, Void> {
@Override
protected Void doInBackground(Void... params) {
filmCategory = JSONServices.getCategory();
return null;
}
@Override
protected void onPostExecute(Void result) {
commonVariable.setCategory(filmCategory);
if (filmCategory != null) {
pageAdapter = new PageAdapter(
fragment.getChildFragmentManager(), filmCategory,
activity);
viewPager.setAdapter(pageAdapter);
} else {
Toast.makeText(activity, "No Active Internet Connection",
Toast.LENGTH_LONG).show();
}
dialog.dismiss();
viewPager.setOnPageChangeListener(new OnPageChangeListener() {
@Override
public void onPageSelected(int position) {
// TODO Auto-generated method stub
// commonVariable.setFilmDetails((FilmCategory)
// category.getFilm().get(position));
}
@Override
public void onPageScrolled(int arg0, float arg1, int arg2) {
// TODO Auto-generated method stub
}
@Override
public void onPageScrollStateChanged(int arg0) {
// TODO Auto-generated method stub
}
});
super.onPostExecute(result);
}
@Override
protected void onPreExecute() {
// TODO Auto-generated method stub
dialog.setContentView(R.layout.dialog);
dialog.show();
super.onPreExecute();
}
}