複雑なレイアウトをプリロードして、最初にアクティビティをよりすばやく表示できるようにする必要があります。
LayoutInflater inflater = (LayoutInflater) mainActivity.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
SlowActivity.cachedView = inflater.inflate(R.layout.activity_layout, null, false);
SlowActivityが開始するとき...
public static View cachedView = null;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(this.cachedView);
}
}
どこで読んだかわかりませんが、膨張したレイアウトを格納するためにstati変数を使用してメモリリークを実行していると言う人がいます。
なんで?
アクティビティが破棄されたときにリソースを解放する必要があるかもしれません(決して、常にバックグラウンドに置かれます...)