6

現在、ビットマップをpngファイルに書き込んでおり、ビットマップに読み戻しています。書き込みと読み取りの速度を向上させる方法を探しています。画像を読み返して編集するため、画像はロスレスである必要があります。

最悪のパフォーマンスが見られる場所は、実際のBitmapFactory.decode(...).

いくつかの質問:
1. NDK を使用してファイルからビットマップに読み書きするためのより高速なソリューションはありますか?
2.ビットマップをより速くデコードするためのより良いライブラリはありますか?
3. ビットマップを保存して読み取る最良の方法は何ですか?

4

1 に答える 1

6

画像をファイルに読み書きするための最善/最速の方法を解決しようとすると、単純な古いものを使用することになりましたBitmapFactory。NDK を使用してエンコード/デコードを試みましたが、実際には違いはありませんでした。

画像の編集後に品質を落としたくなかったので、基本的に使用する形式はロスレス PNG でした。

これらすべての主な概念は、エンコードとデコードにかかる時間を理解する必要があるということでした。画像サイズに応じて、上位300〜600ミリ秒のエンコード数と、デコードは約10〜23ミリ秒で高速でした。

すべてを理解した後、エンコーディングが必要な画像を渡すワーカー スレッドを作成し、ユーザー エクスペリエンスに影響を与えずに作業を実行させました。画像は、完全にエンコードされてファイルに保存される前にすぐに必要になった場合に備えて、メモリにキャッシュされたままになっていました。

于 2012-05-07T13:39:32.760 に答える