我想在啓動Android應用程序時從資源和資產加載大型數組,並在多個使用的活動中訪問這些對象。在應用程序啓動時加載大對象
現在我加載資源,我的發射活動:
StartActivity.java:
Object heavyObject;
onCreate() {
new AsyncTask<Void, Void, Exception>() {
@Override
protected Exception doInBackground(Void... params) {
try {
Assets assets = new Assets(context);
File assetDir = assets.syncAssets();
heavyObject = heavySetup(assetDir);
} catch (IOException e) {
return e;
}
return null;
}
}.execute();
...
public void goToNextActivity() {
Intent intent = new Intent(base_activity, NextActivity.class);
Bundle b = new Bundle();
b.putObject("ho", heavyObject);
intent.putExtras(b);
startActivity(intent);
finish();
}
但這複製對象多次,並導致內存問題。如何在應用程序的生命週期中跨我的活動共享對象,並且只加載和存儲一次?