我想在启动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();
}
但这复制对象多次,并导致内存问题。如何在应用程序的生命周期中跨我的活动共享对象,并且只加载和存储一次?