自分はパズドラをやらないですし、インストールもしていないので実際のところは分かりませんが、
数多くのモンスターがいても、データは大まかに分けて下記の2種類じゃないでしょうか?
・データは名前やファイル名などの文字列データ、HPや経験値のような数値のデータ
・戦闘やイベント表示用の大きい画像、アルバム?の一覧表示のようなサムネイル画像
SQLiteについて
SQLiteはAndroid以外でも利用されていますが、
Androidでは標準で組み込まれているデータベースです。
このデータベースはアプリの起動で毎回フラッシュされるわけではなく、
dbファイルとして端末の中に残ります。
(アプリ設計として毎回フラッシュするように作成することもできます。)
データ項目はアプリ設計者がアプリに必要なものを考え、項目を増やすわけですが、
文字列や数値、日付のデータの様にほかにblob(Binary Large OBject)
という型で
画像のような大きいデータも一応は格納できることにはなっています。
が、実際はそれほど大きいサイズは入らないです。直接SQLiteに格納しようとすると、
すぐOOM(Out Of Memory) Error
が発生します。
画像保持に関するアプリ設計について
先述の理由から、画像を多く使用するアプリは
「Http経由で画像をダウンロードして格納する」という様なことがされていると思います。
一度ダウンロードした画像は通常、再ダウンロードしないようにし、
アップデートがある場合は追加更新分だけダウンロードしたものを、
そのアプリ専用のフォルダに格納しているのだと思います。
「もちろんWebから起動のたび/必要になるたびダウンロードする」という設計もありますし、
動画ファイルなどは「ファイルサイズが大きいので"Now Loading"を表示して、
毎回Webからダウンロードしている」という事もあるかもしれません。
結論
画像ファイルをどのように扱うかは設計次第。(当たり前ですみません)
ただし、SQLiteに画像を直接格納して保持し続けることは考えにくい。(メリットがない)
下記、いづれかの方法、及び、併用した方法が採用されているのでは?
・インストール時(パッケージに容量制限あり)、初回起動時、アップデート時に一気にダウンロード
(アプリ容量がとても大きくなる&初回起動時に長時間の待ちが発生する)
・毎回サーバーからダウンロード(ユーザーにはストレス?)
・必要な時に必要なファイルだけダウンロード(プレイ中、常にネットアクセス)
以上、長文、乱文にて失礼しました。
ご参考になりますでしょうか?
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/03/14 01:03
2016/03/14 03:14 編集