スワイプでRecyclerViewからcardViewを削除するのにitemTouchHelperを使用しています my cardviewはシンプルですが、テキストと画像があるだけです カードを削除するためにスワイプしても消えませんメモリから取り出されました(画像のメモリが消えず、メモリ不足の例外が発生するのでこれを言っています) 私のコードはとてもシンプルなので、私はステップがあるかどうか疑問に思っていました。メモリから削除するには? 私のコードはthisと全く同じですスワイプでカードビューを取り除いた後にメモリが回収されない
0
A
答えて
1
通常、イメージはデバイスの画面解像度の要件に従ってスケーリングされ、アンドロイドメモリにロードされ、プロセスが終了するか、死んだりガベージコレクタによって収集されるまでそこに保持されます。
カードビュー(またはres
フォルダ内の他の画像)の画像サイズが大きく、アンドロイドによるスケーリング後の画像がメモリを多用しすぎてメモリ例外が発生する可能性があります。画像のサイズを縮小してみてください(google iconsのアイコンサイズと比較してみてください、それらはすべてKb未満です)。
フォルダーをres
フォルダーに作成し、このフォルダーに大きなサイズのイメージを置くと、これらのイメージを縮尺してそのままレンダリングしないことがわかります。 (このアプローチに従うと、すべての画面デバイスでテストを行ってください。イメージが異なる画面サイズで拡大縮小されるようになります)。
最後に、ユーザーがカードスワイプアクションを実行した後で、上記のいずれも実行しようとしない場合はSystem.gc()
となります。これはガベージコレクタを実行し、イメージはメモリから削除されます。 (この方法では、すべてのデバイスで動作するガベージコレクタが保証されるわけではありませんので、上記の2つの方法を試してみてください)。
希望すると便利です。
関連する問題
- 1. TableViewのスワイプが削除されない
- 2. コルドーバのアップデート後に回転スピナーが取り外されていない
- 3. nullを取り除いた後にFORWARD_NULL?
- 4. メモリに収まらないコーパスのTfidfVectorizer
- 5. カスタムコンテナコントローラで回転後にビューのサイズが変更されない
- 6. iPhone - メモリ警告後に通知が2回ポストされる
- 7. リリースキーを取得した後にマップが表示されない
- 8. 最後のセルを削除した後にUITableViewセルが選択されない
- 9. コンストラクタの後でオブジェクトが一見削除されたり、メモリが変更される
- 10. Swiftのメモリ管理:NSOperation終了後にメモリが解放されない
- 11. 画像が追加されたときにカードビューが消える
- 12. javaでxmlノードを削除した後にxmlファイルが更新されない
- 13. アプリケーションを削除した後にXcodeがデバイス上で実行されない
- 14. iPhoneメモリがビューのアンロードとデアロック解除後に解放されないのはなぜですか?
- 15. (Visual C++)ポインタを削除した後、動的割り当てメモリが有効なポインタでない
- 16. Android ListViewはremoveAllViews()で削除され、addViewで復元された後にitemClickイベントを受け取らない
- 17. 後で印刷できない値を取り除くEncoding.ASCII.GetString()
- 18. ソフトキーボードが解除された後、Flex 4.6 IOS画面がアンパックされない
- 19. python - メモリがカーネルに戻されない
- 20. TableViewCellでスワイプした後でTableViewControllerの行を削除する
- 21. オブジェクトが配列から削除されるとメモリが再生されない
- 22. mercurial:コミット後、プッシュ前に削除されたリポジトリから回復
- 23. TabLayoutのスワイプ・タブでフラグメントがリフレッシュされない
- 24. mysqlで最後に削除されたIDを取得する
- 25. 編集モードを解除した後にテーブルビューが再ロードされない
- 26. UITableView reloadDataが行を削除した後に正しく表示されない
- 27. ログアウト後にCookieが削除されないAsp.Net 5 Identity 3.0
- 28. 削除後にアイコンが変更されない
- 29. アンインストール後にnsisショートカットが削除されない
- 30. ジンジャーブレッドで水平スワイプした後、アクションバーのonNavigationItemSelected(int position、long itemId)がトリガーされない
ありがとうございました!私は実際にピカソを使用してイメージを縮小し、スペースを取らないようにしていますが、使用したメモリのモニターを見たときに気づいたのは、リサイクルされたビューメモリが下がらない、別の要素を追加するとメモリが上昇し続ける(削除されたイメージがリサイクルされないように)、他の方法でその動作を説明することはできません。それをメモリから削除してください – user1
ピカソはメモリフットプリントを持っています。ここでチェックしてください: 'http:// stackoverflow.com/questions/31925461/picasso-out-of-memory' –