15 秒ごとにサーバーからプルする必要があるプル ベースのアプリがあります。そのために、通常の AsyncTask を使用しました。コードは基本的に次のようになります。
protected Void doInBackground(Context... arg0) {
while (true && this.pull_on ) {
pull_data();
TimeUnit.SECONDS.sleep(15)
};
今、私はアプリが突然停止するという大きな問題を抱えています。No exeptions
、AsyncTask のステータスは「実行中」であり、「pull_on」変数は「true」に設定されていますが、プルを停止するだけです。
私はこれができnot reproduce
ます、それは時々起こります、私は長い間完璧に働くことができます、そしてそれはただ止まります.
これがどのように起こるか誰にも分かりますか?
これをタイマーでリファクタリングして実装する必要がありますか?
また、サービスを使用すると、私が知っていることよりもどのようなメリットがありますか? バッテリー電力は問題ではありません。
ご協力いただきありがとうございます。
PS AsyncTask からアクティビティを開始することもあります。この 'ApplicationManager.getCurrentActivity().startActivity( myIntent )' のようですが、問題になることはありません。
PPS
タイマーの縫い目は、使用したいものに制限されています.15秒ごとに何かをしたいのですが、特別な場合には、pingを停止してから再開したい. そのシームのハッキングの量は、AsyncTask で行うよりも多くの作業になります。