キャッシュの実装![](/searchicon.gif)
マーケットのバグを回避したら着々と間違いダウンロードが発生してるようで、
カメデスのUIはわざとアルファベットの使用を避け、英語でも伝わる内容でもあえてカタカナで書き、
日本語がわからないと意味不明になるように作ったし、説明文も全て日本語にもかかわらず、
日本語圏以外からポツポツとダウンロードが発生している。
ダウンロードして消してない人の統計が出てるが、日本語7人、それ以外6人って状態。
このたった数名の中に、カメデスの目指す方向性を理解出来てる人はいないだろうが、
たとえどんなアプリになろうとも、フリーズするとか、フリーズしたかのように重いとかは避けたい。
なんだかわからなくても、とりあえずタッチすれば反応するようじゃないとよろしくない。
カメデスは自分で使うためのカメラアプリなので、自分さえよければいいんだし、
自分では画像の読み込みに時間がかかると知ってるから、読み込み待ちは安心して待てるけど、
間違ってダウンロードした人は、読み込み待ちで不快感を持つ事は必至だ。
つーわけで、読み込みを速くは出来ないから、遅く感じない方法をとる事にした。
これまで、ギャラリーはカメデスフォルダの全てのファイルを読み込むまで、ウィンドウを表示できなかった。
その待ち時間が長すぎるので、とりあえずプレビュー画像をアプリのアイコンで代用し、
表示だけ先にさせることにした。
ので、カメデスフォルダを開くと、カメデスアイコンがズラッと表示され、
遅れてアイコンが各写真のプレビューに変わる。
本当はこれじゃダメで、せめて読み込み中なら読み込み中を示すアイコンを作るべきだ。
わかってるんだけど不得意分野と言う事で後回し。
まぁともかく、遅延読み込みで動作を固まらせないようには出来たわけで、とりあえず一歩前進と。
ただこれだと、結局はフォルダを開く度に画像はカメデスマークになり、ちょっと待たないと表示できない。
撮った写真を一個ずつ削除したり保存したりと選ぶ度に再読込し、待つのが面倒くさい。
面倒くさいと感じた人は、一括で削除できないのかと思うはずなので、メニューから一括削除実装。
一括削除ボタンは置かないのがポイントで、一括削除したいと思う人だけメニューを出してみるし、
そういう人以外には、とりあえず写真を選ばせるように仕向けるUIにこだわっている。
そこまでしてもやはり読み込みの遅さは解消できないので、必要に迫られてキャッシュ実装。
2MBの画像を7KBの画像に変換し、拡張子を付けないで保持する。
拡張子を付けちゃうと他のギャラリーアプリが画像だと思って拾っちゃうから。
さすがに7KBの画像読み込みは一瞬で、遅延読み込みの必要がない。
おかげで、一回目のギャラリー表示はカメデスマークが出るが、二回目からは一瞬でサムネイルが出る。
今のところキャッシュを削除する仕組みを作ってないが、キャッシュフォルダはカメデスフォルダ内なので、
一括削除の際は当然の如く元画像も消えるからキャッシュも消し、フォルダごと新しくしてる。
これだけだと、画像を編集して上書き保存するようなアプリを使ったときに対応出来ないし、
一括削除しない人のフォルダにはゴミが残る。
だので、その辺のチェックを起動時にでもやりたいところだが、遅くなったら本末転倒かなと。
カメラアプリの他にも欲しいものがあるので、もっと作ると思う。