0

私はiOSキーボード拡張機能に取り組んでいます。正常に動作しますが、現在のアプリを最小化して別のアプリでキーボードを開くと、使用されるランタイム メモリがほぼ 2 倍になります。

それをよりよく説明するために、例を挙げましょう。

「メモ」アプリでキーボードを開いたとすると、約 15 MB (初回起動) かかります。「Notes」を最小化して「Safari」でキーボードを開くと、メモリは 21 MB になります。

それで、私の質問は、キーボードを実行しているアプリが最小化されている場合、キーボードを閉じる方法はありますか?

どんな助けでも大歓迎です。ありがとう

4

2 に答える 2

0

/通知にサインアップし、拡張コンテキスト オブジェクトの拡張コンテキスト オブジェクトと比較して、個々の入力ビュー コントローラーのホスト アプリが消えていることを確認できます。NSExtensionHostWillEnterBackgroundNSExtensionHostWillResignActiveUIInputViewController

UIInputViewControllerそうは言っても、サブクラス、または少なくともその内容の一部をリークしているようです。

リーク/ヒープの増加についてキーボード拡張機能をプロファイリングし、入力ビューが非表示になるまでに、キーボードの 1 つのインスタンスでのみ必要とされるリソースの割り当てが解除されるようにする必要があります。

于 2015-09-17T05:23:03.623 に答える
-1

AppDelegate.m:

- (void)applicationDidEnterBackground:(UIApplication *)application{
   [self.window endEditing:YES];
}
于 2015-09-16T13:28:23.047 に答える