みんカラアプリのストレージ肥大化を考察
1
Android版の話ですが、iPhone版も同じかもしれません。
みんカラアプリはユーザーデータがすぐに肥大化し、気が付いたら数ギガの容量食ってた、ってこともあります。
2
何故なのか。
ユーザーデータに何を蓄えてるのか。
そもそもサーバー管理のみんカラシステムなので、ユーザーデータはログイン情報と表示設定位でほぼ使用しなくてよいはず。
実態を探るため、ストレージ消去を押下し、ユーザーデータとキャッシュを削除しました。
3
ユーザーデータが削除されるとログイン情報も初期化されるので、ログインします。
4
ログインして表示設定を設定した状態です。
5
ユーザーデータは約9MBです。
スマホアプリとしてはこれ位が標準的です。
6
整備手帳の下書きとして画像をユーザーデータに保存しているのか?
なぜそう思うのか、それは複数画像選択した後のレスポンスが速いから。下書き押下した時点のレスポンスが速いから。
サーバーに画像を一時保管するなら通信によりタイムラグが発生するはず。
MAXの25枚の画像を選択して、
7
下書き保存を選択。
8
下書き保存されたので、ストレージを確認してみると、
9
ユーザーデータが約40MBに増大してました。
やはり画像データを格納しているようです。
10
では下書きを消したら、ユーザーデータに格納された画像データは消去されるのか?
11
下書きを消してみました。
12
ユーザーデータのサイズに変化はありません。
つまり、削除した下書きの画像が今後使われない「ゴミデータ」として残留してしまったことになります。
13
では、整備手帳を下書きせずにダイレクトに公開した場合はどうなるのか?
MAXの25枚の画像を選択して公開。
14
ストレージは約30MB以上増えた状態となりました。
15
つまり、
・整備手帳でアップした画像データは、ユーザーデータに即時溜めている。
・理由は、レスポンス向上のため。下書きのため。またはアプリが突然落ちた際の技術的問題のため。
・いきなり大きい画像データをサーバーにアップせず、アプリ側で画像を縮小して溜め込み、サーバー負荷を回避する、という理由もあると思われる。
・一度溜めた画像データは消去されない。
何で消せないのか?ユーザーデータではなくキャッシュを使わないのか?
私なら、画像はキャッシュに一時保管して、下書き押下の際はユーザーデータに移動、公開した場合はキャッシュ又はユーザーデータから削除、というロジックにしますが、アプリ突然終了の回避が技術的に難しいんでしょうね。
公開した時点でユーザーデータから紐ついてる画像は消してもいいと思うんですけどね。
ちなみにブログに関しては、画像1枚アップごとにサーバーに直保管されるので、ユーザーデータは増加しない、と思われます。検証してないので確証ではないですが。
[PR]Yahoo!ショッピング
入札多数の人気商品!
[PR]Yahoo!オークション
タグ
関連コンテンツ( みんカラ の関連コンテンツ )
関連リンク