大崎さん
お世話になっております。宮崎です。
>
> SoftReferenceを使えばキャッシュファイルとメモリを効率的に使えるかと
> 思って試してみましたが、画像の容量が多いためか
> GCでがんがん消えているようでほとんど効果がないようでした
> (100枚の画像のうち数枚だけメモリから読み込む)
確認していた通りSoftReferenceでは画像枚数が多くなった際に削除&GCをしてくれるため
undoの機能としては難しいものがあるかと思い選択出来ませんでした。
(undoで途中でundo内容が飛ぶのは許されないことかと思い・・・)
> getCacheDirメソッドを使えば
> 該当アプリのローカルキャッシュに保存できるようです
> 設定画面の該当アプリの「キャッシュを消去」で消せるようになる
>
> パソコンと違って処理速度・メモリ・容量に制限があるので
> なかなか完全なUndo機能は難しいかもしれません
> (完全にするとキャッシュ削除にすごく時間がかかる等)
>
> 限定的なUndo機能(上限5回前までとか)なら
> 問題がなさそうなので検討されてみてはいかがでしょうか?
ご指摘の通りかと思います。
これを使うのが一番ベストかと思いながらも
アプリケーション領域のfilesディレクトリに書き込む方法で悩みました。
キャッシュディレクトリ or アプリケーションディレクトリで迷いました。
キャッシュディレクトリは勝手に削除されてしまうという所と悩み、
現在はアプリケーションディレクトリに格納しています。
undoを限定的にするべきか迷ったところがありつつも
画像ファイルのキャッシュという所で勝手に削除される可能性がある
ディレクトリを使うべきかも悩んでしまったからです。
以下のサイトを参考にしてみました。(Developersの日本語訳サイトでございます)
http://www.techdoctranslator.com/android/guide/data-storage
On 9月19日, 午後8:45, mosaki4 <
mosa...@gmail.com> wrote:
> 大崎といいます
>
> ちょっと興味がでて検証してみました
>
> SoftReferenceを使えばキャッシュファイルとメモリを効率的に使えるかと
> 思って試してみましたが、画像の容量が多いためか
> GCでがんがん消えているようでほとんど効果がないようでした
> (100枚の画像のうち数枚だけメモリから読み込む)
>
> getCacheDirメソッドを使えば
> 該当アプリのローカルキャッシュに保存できるようです
> 設定画面の該当アプリの「キャッシュを消去」で消せるようになる
>
> パソコンと違って処理速度・メモリ・容量に制限があるので
> なかなか完全なUndo機能は難しいかもしれません
> (完全にするとキャッシュ削除にすごく時間がかかる等)
>
> 限定的なUndo機能(上限5回前までとか)なら
> 問題がなさそうなので検討されてみてはいかがでしょうか?
>
> 2010年9月16日17:47 Miyazaki Yoshiaki <
ymiyazaki...@gmail.com>:
> > 2010年9月16日17:15 さきら <
sakisak...@gmail.com>:
>
> >> さきらと申します。画像関係アプリもいくつか作ってます。
>
> >> 1. PNGで保存してはいかがでしょう? PNGなら劣化ないかと思います。
>
> >> 2. undoについて、画像加工アプリが具体的にどのようなものか
> >> わからないので推測で書いてしまいますが、
> >> 例えば各操作に再現性がある、つまり、同じ操作をすれば
> >> 同じ結果(画像)になるのであるとします。
> >> また、各操作にかかるコストは少ないとします。
>
> >> だとすれば、加工する前の画像と、その手順の列だけを保存しておけば、
> >> 1回undoは手順の列の最後一個以外の実行結果、
> >> 2回undoは手順の列の最後1個と2個以外の実行結果となります。
> >> 多分、手順の情報はそんな場所取らないんじゃないでしょうか。
>
> >> あんまり列が長くなるようでしたら、「もとの画像」にその手順の
> >> 途中まで適用した結果を改めて「もとの画像」にして、
> >> 手順の列の方は適用したとこまでを捨てるとか。
>
> >> あんまり参考にならなかったらごめんなさい。
>
> >> --
> >> このメールは Google グループのグループ「日本Androidの会」の登録者に送られています。
> >> このグループに投稿するには、
android-g...@googlegroups.com にメールを送信してください。
> >> このグループから退会するには、
android-group-j...@googlegroups.com<
android-gro-up-japan%2Bunsu...@googlegroups.com>にメールを送信してください。
> >> 詳細については、
http://groups.google.com/group/android-group-japan?hl=jaからこのグループにアクセスしてください。
> > このグループから退会するには、
android-group-j...@googlegroups.com<
android-gro-up-japan%2Bunsu...@googlegroups.com>にメールを送信してください。
> > 詳細については、
http://groups.google.com/group/android-group-japan?hl=jaからこのグループにアクセスしてください。- 引用テキストを表示しない -
>
> - 引用テキストを表示 -