タグ

AsyncTaskに関するjavabayashiのブックマーク (4)

  • 画像ダウンロードでAsncTaskを立ち上げまくるのはやめましょう - satohu20xx's diary

    ListViewでよくあるサンプルで画像をダウンロードするたびにAsyncTaskをたちあげてる奴があるけどそれはやめましょう @Override public View getView(final int position, View convertView, ViewGroup parent) { ViewHolder holder; if (convertView == null) { convertView = mInflater.inflate(R.layout.search_row, null); holder = new ViewHolder(); holder.Title = (TextView)convertView.findViewById(R.id.textTitle); holder.Thumbnail = (ImageView)convertView.findVi

    画像ダウンロードでAsncTaskを立ち上げまくるのはやめましょう - satohu20xx's diary
  • バックグラウンドで動くジョブキューを公開した - Qiita

    便利なジョブキューライブラリを公開したので紹介します! :) はじめに 最近、Androidで重たい処理を実行したいけど、その結果はすぐにUIに反映する訳でもなく、ただいつかは確実に実行して欲しいジョブが出てきます。だいたいのアプリはUIの反応を良くするためや頑丈な設計にするために、こういったジョブを何らかの方法でバックグランドで実行をしていますが、いくつか乗り越えないといけない問題があります、まずはそれらの問題について書いていきます。 問題 こういったバックグラウンド処理を簡単に実現するためにAndroid SDKは幾つかの便利なAPIを提供してくれてます。代表的なものには、AsyncTask、Loaderがありますが、それらはいくつか癖があるので、まずはそこを書いてから。 AsyncTask AsyncTaskに関しては、ActivityのLifecycleに非常に密接に結合されていて

    バックグラウンドで動くジョブキューを公開した - Qiita
  • Android バックグラウンドで Bitmap を処理する

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

    javabayashi
    javabayashi 2014/02/05
    平行処理を扱わなくてもImageViewのタグに一意に定まる値を仕込んでおいて、AsyncTaskのコンストラクタで保持しておいて、onPostExecuteで比較してやればなんとかなるかも。
  • AndroidのAsyncTaskについて

    今回は、AndroidのAsyncTaskについて。 知らない人のためにまずは、AsyncTaskの説明を。 Androidはメインスレッド内でDB接続等の時間のかかる処理を行うとその間、 画面はフリーズしてしまいます。 ボタンクリック時にDBへの登録処理を行い、 その間画面にはプログレスバー(くるくるするやつ)を表示しておきたいとします。 この時、メインスレッド(GUIスレッド)でプログレスバーを表示、そのまま同じスレッドで 登録処理を行うと、画面に表示されているプログレスバーは止まってしまいます。 これを解消するには、登録処理等のバックグラウンドで行いたい処理はメインスレッドとは 別のスレッドで行う必要があります。 この時、気をつけないと行けないのがバックグラウンドで動かしているスレッドから UI操作を行うとエラーが発生してしまいます。 上記のような動作を簡単に実装できるのがAsync

    javabayashi
    javabayashi 2013/12/19
    非同期処理の完了通知を受け取る簡単な方法
  • 1