1

私の最初のチタン開発者アプリはほぼ完成しましたが、最大の問題(およびドキュメントの欠如)は、バックグラウンドで関数を実行する機能です。

基本的に外部のjsonファイルをクエリし、それをループしてデータベースに約150レコードを挿入する関数があります。これにより、完了するまでアプリが完全にハングします。

私はjquery非同期ループプラグインを試しましたが、アプリの残りの部分はまだ非常に遅い/コマンドに応答しますが、それは機能します。

アプリの残りの部分に完全にアクセスできる間、バックグラウンドスレッドなどで関数を実行できる必要があります。

誰もがこれを行う方法を知っていますか?

4

3 に答える 3

0

ここでの1つの解決策は、特定の機能が今後のリリースで利用可能になることを示しています

http://developer.appcelerator.com/question/68231/background-thread--timer-thread--service-thread

別の解決策は、イベントを作成して起動することです。これは、ウィンドウ/ビューが別のスレッドで実行されるためです。このページの[イベント]セクションまでスクロールしてください。

// fire  the event for the task
Ti.App.fireEvent("doLongTask");

Ti.App.addEventListener("doLongTask", function () {
    // doing long task...
});
于 2010-10-26T23:15:12.247 に答える
0

コードをsetTimeoutに入れるだけです。

setTimeout(function (){
  /* your code */
},0);

動作はスレッドのようなものです。

于 2010-10-25T18:23:02.987 に答える
0

あなたがこれを尋ねてからしばらく経ったと思いますが、私は今日同じ問題を抱えていて、以下のコードを使用して解決しました:バックグラウンド関数Acppcelerator

于 2012-07-19T20:50:39.107 に答える