目標:手渡し描画/絵画/保存
私は、私は彼らに電子メールを送信することができるようにPDFファイルからビットマップ上/書き込み/ペイントを描き、それらを一緒に保存したいです。
詳細:
私は今、5-20
ページそれぞれを含む複数のPdf
のファイルを持っているがpdfs
からビットマップを抽出し、ViewPager
で断片的にそれらをロードし、私はそれらを介してスワイプし、書き込み/ドローまたは何でもすることができます ていますが欲しいです。保存/ビットマップの現在の状態を復元するには私はonSaveInstanceState
を使用しています。 この方法で、前後にスワイプしながらビットマップの最後の段階を取得できます。
このような何か:
@Override
public void onSaveInstanceState(Bundle outState) {
super.onSaveInstanceState(outState);
outState.putParcelable("Bitmap", bitmap);
}
問題:
ユーザープレスがメールボタンを送信し、私は彼が編集したIEであるにかかわらず、どのページのすべての画像を保存することができるはずですページ5から10 そして今彼は10ページ目にあり、送信ボタンを押すと、編集したすべての画像を取得できるはずです。
問題2:私は画像の数を述べてきたように
は約5〜20であり、onSaveInstanceState
状態を保存すると、素晴らしい作品が、それはラム内のアプリのメモリを増やし続け、そして10日にアプリがクラッシュアプリサイズが150Mbs
になる画像
しかし、イメージを束ねてonSaveInstanceState
に保存することも必要です。これは、ユーザーがスワイプしてイメージをより速く読み込むためです。
だから私は考えていたが、我々は5ページが をスクロールしてメモリをクリア発言した後、私たちはディスクにイメージを書き込むことができ、カスタムバンドル クラスを作成したときに、ユーザメモリに戻すディスクからそれを読むことができますどのような方法があります はスクロールバックしていますか?これは合理的に聞こえるでしょうか?
私が試してみました何
:
をビットマップは別々の断片にロードされているとおり、私はOnDestroy
に外部ストレージにビットマップを保存しようとしましたが、ディスクへのビットマップを保存すると、小さな仕事ではありませんように、それが取りますユーザーがAsyncTask
を使用していますが、フラグメント間でビットを高速にスワップすると、ビットマップをOnDestroy
に保存するのは便利な方法ではありません。
これは私が質問をしている理由で、状況をより良く理解してくれて、もっと便利な方法でこれを達成するのに役立ちます。
このような状況にどう対処することができますか?
注:
あなたがトラブルの状況を理解しているし、より多くの情報が私にコメントを残して、私は質問を更新しますが必要な場合。
おかげ
私はあなたに次の質問があります。 1.レイアウトの幅/高さに応じて画像を縮小し、ビューページに表示していますか?そうしなければ(ビットマップメモリ消費を減らす)必要があります。 – HourGlass
2.各画像にキャンバスがあり、その上に何かをペイントします。ユーザーが次の画像にスワイプしたときに画像に変更を保存します。 (この方法は画像のサイズを大きくします)。 – HourGlass