ここにmystartupのコードAcitivty
があります。起動時に、私はどこにメッセージdbロードを表示するdbコードを置く...など。それはうまく動作しますが、5~10秒間黒い画面を表示する次のコードに問題があります。その後、すべてが大丈夫です。だから私はこの状態になりたくない。 mystartupのactivtyのAndroid Dbコードが10秒間私のアプリをハングアップすると、黒い画面が表示され、この起動後にハングします。
// OnCreateのイベントは、ここでは
SharedPreferences prefre=this.getSharedPreferences("firstt",this.MODE_PRIVATE);
boolean firsttimes=prefre.getBoolean("firstt", true);
if(firsttimes)
{
SharedPreferences.Editor editere=prefre.edit();
editere.putBoolean("firstt", false);
editere.commit();
MyAlterts alterts=new MyAlterts();
alterts.ShowMsgWithOk(this,"db loaded ..... wait");
//calling db functions first run so that optmize next time
DatabaseAccess databaseAccess = DatabaseAccess.getInstance(this);
databaseAccess.openreadabledb();
//db code here also
return;
}
それはworkfineそれSDカードからのコード上でアクションを実行する理由ですので、デバイス上で、それは時間がかかるタスクコードdatabaseaccessがopenorcreateデシベルFIRSTTIMEで数秒間acitvtyをハングアップします。したがって、このコードがアプリケーション内のどこかで最初に呼び出すと、最初に実行した後に呼び出される操作がハングアップする – user3419461
問題が存在する場合、 'editere.commit();'を 'editere.apply();に変更します。 ** DatabaseAccess ** –
はい、そのdatabaseaccessコードに関連して、私はコードが数秒bczデータベースサイズがハングアップするため、どのようにこれに対処する責任があることを知っています。私はちょうどバックグラウンド作業に入れましたが、適切なダイアログが表示されているので、dbのロード方法を示しています。 – user3419461