他の LWP を設定するか、その後 LWP を再起動することを選択すると、ライブ壁紙がアンロードを拒否します。結果: 同じヒープに 16Mb のテクスチャを何度もロードしようとするため、2 回目または 3 回目のリロードでメモリ不足エラーでクラッシュします。
DDMS では、onDestroy() やその他のイベントがすべて呼び出されたにもかかわらず、他の LWP が選択された後もサービスがまだ有効であることがわかります。実際のリソース アンロード メソッドの束である stopSelf() を呼び出そうとしましたが、何もしません - サービスはまだメモリを占有しています。
結局、すべてのテクスチャをアンロードし、すべてのリストとハッシュ マップをクリアし、シーンからすべてのエンティティをデタッチしました。
そのサービスを強制終了してメモリを解放する有効な方法はありますか?