Androidアプリをプログラミングしている間に(マーケットにアップロードされ、3k +アクティブなインストールで4,7の評価を得ている)、私は自分のアプリをさらにすばらしいものにする方法を知りました。私は、本当に新しい、世界的に変化する機能を追加することができなかったことを実感しました。そのため、パフォーマンスを検証し、すべてを最適化する方法、最適なCPU /メモリ使用率を見つける方法などを始めました。Androidコンストラクタ
とにかく、私は、非常に論理的な画面を回転させた場合にonCreateが実行されることがわかりましたが、回転ごとにやり直す必要はありません。このうちの1つは、6500行のcsvを反復処理し、4つの列を持ち、2つは常にいくつかのデータを含み、2つは常にそうではありません。データを含む2列はオートコンプリート・アダプターに使用され、別の2はフィーチャーではオプションですが、まだ初期化する必要があります。現在のところ、これはasynctaskで実行されており、onCreateの最後にトリガされ、かなり良いCPUを持つ私のHTC Desire Sで約3秒かかります。したがって、ローエンドのデバイスは回転ごとにより長い初期化時間を持ちます確かに私は望んでいない...それはUIをクラッシュされませんが、秒が終わるまでオートコンプリートはありません。
だから私の質問は、いくつかの別のメソッド(例えば、標準javaのようなコンストラクタ)でこれを行うことができますか?それとも、アクティビティの特別なライフサイクルなので悪い習慣ですか?つまり、コンストラクタが実行されるように自分のアクティビティをインスタンス化し、その後すぐにonCreateが実行されます。回転の場合、私の "コンストラクタ"は再び実行されませんが、onCreateは実行されます。安定性は依然として私の目標である。または、これを行うには良い方法がありますか?これとまったく同じように作成されたものですが、これはわかりません。私はこの問題で多くのことを改善したいと思っています。私は本当にこれにいくつかの助けに感謝します。経験を積んだ人から好きですが、助けてください!
startActivity(new Intent(context, MyActivity.class));
:このような何かを終了する、
new MyActivity(some parameters);
ので、コンストラクタが実行されます:私はこの方法で新しいアクティビティを作成したい場合:)
は例えば、私はそれをこのような何かをするだろう
このようにして、コンストラクタが実行され、変数が初期化され(ビューなどには接続されません)、その後、いつでも自分のアクティビティはonCreate変数を実行できます。
は恩赦私は、構文イム間違っている場合、私はちょうどそれをfasttyped :)
このロジックを初期化アクティビティ – hundeva