タグ

2014年6月9日のブックマーク (1件)

  • Android バックグラウンドで Bitmap を処理する

    Processing Bitmaps Off the UI Thread の内容に補足を付けて解説してます。 前回のエントリーで大きい画像を効果的に読む込む方法を解説しましたが、デコードするデータがディスクやネットワークにある場合、BitmapFactory の decode* メソッドは UI スレッドで行ってはいけません(というかメモリ上以外のデータを読み込む場合は全部だめ)。 これらの処理はディスクやネットワークのスピード、画像のサイズ、CPUのパワーなどさまざまな要因で完了までの時間が変わり、いつ完了するのかわかりません。 もし画像のデコード処理で UI スレッドをブロックしてしまうと、最悪 ANR が発生します。 そこで、AsyncTask を使ってバックグランドで Bitmap を読み込むようにします。 ■ AsyncTask を使う 特に何も考えないで作ると、きっとこんな感じ