問題タブ [cfrunloop]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
328 参照

ios - 非同期タスクの nsoperation 内で Runloop を使用する

NSURLSession を使用して多くのファイルをダウンロードする必要があるユース ケースがあります。

セッション タスクがタイムアウトしないようにするには、セッション タスクを操作キューに配置し、同時ダウンロードの量を制限して飢えさせないようにする必要があります。

私の考えは、タスクの再開を nsoperation にロードし、それらを nsoperationqueue にロードして、同時アクティビティの数を制限するというものです。

問題は、[タスクの再開] を呼び出すと、コードが終了し、ファイルのダウンロードが完了するのを待っているにもかかわらず、nsoperation が完了したと見なされることです。

ここにいくつかのコードがあります。

コールバックを待っている間、nsoperation スレッドを維持するにはどうすればよいですか? また、nsrunloop を使用して、ポートを NSMachPort に追加しようとしました。それは役に立たなかったようです。

また、タスクを再開するとタイムアウト タイマーが開始されるため、NSURLSession で HttpMaximumConnectionsPerHost を設定しても役に立ちません。つまり、以前よりも多くのタイムアウトが発生します。

0 投票する
1 に答える
1767 参照

ios - iOS 11.2 CFRunLoopServiceMachPort でアプリがクラッシュする

アプリで CFRunLoopServiceMachPort がクラッシュすることがいくつかあります。この根本的な原因を突き止めようとしてきました。

メイン スレッドでの輻輳を回避するために、バックグラウンド スレッドで実行しているタスクがいくつかあります。これはこれで一役買っているのではないかと思います。

正直なところ、どこに問題があるのか​​ わかりませんでした。

以下は私のクラッシュログです:

0 投票する
0 に答える
134 参照

ios - iOS と MacOS で CFRunLoopActivity の動作が異なるのはなぜですか?

iOS と macOSX の 2 つのプラットフォームで同じコードを使用してテストし、Runloop のアクティビティ スイッチを表示すると、2 つのプラットフォームの結果が同じではないことがわかりました。その理由は何ですか。

コード:

1.RunLoop オブザーバーの作成

2.印刷活動状態

結果:

1.iOS iOS 結果

2.macOS MacOS 結果

macOS システムに複数の kCFRunLoopEntry があるのはなぜですか?