Blog -

  • 前へ
  • 次へ

カテゴリ : 
Android »
執筆 : 
NickQ 2011-7-18 20:08
Androidの開発をやっていると、Viewの更新をぐりぐりやる処理を作ったりする。


WidgetのImageViewに対してServiceからRemoteViewを経由して
setImageViewBitmapを更新する処理の開発を行っている時にどうもカクカク(処理遅延の様な)したり更新されなかったりする時が有る。
そんな時LOGには

!!! FAILED BINDER TRANSACTION !!!

が連発している事が多いですが、その原因と対処法について

原因は、RemoteViewのsetImageViewBitmapを呼び出すと引数のBitmapを
シリアル化して渡す、その時のメモリが累積してIPCの許容を超えると発生します。

1.RemoteViewをService内で使いまわしている
2.大きな画像をBitmapに指定している

対処法として

1の場合は、
RemoteViews remoteViews = new RemoteViews(getPackageName(), R.layout.レイアウトID);
といったように毎回定義しなおすと回避できる。
2の場合は、
Bitmapのサイズを小さくするもしくは、Bitmap.Config.RGB_565を指定する
アルファチャネルが使えないのが痛いが、背景ならなんとか。
参考までに、2*2のサイズのPNGは大丈夫でした。

また、Eclipseのデバッグ(実機)などで何をしても発生する場合、実機のAPKを一度アンインストールすると直る事が有ります。
(自分はこれにハマりました)
  • コメント (0)
  • トラックバック (0)
  • 閲覧 (32203)

トラックバック

トラックバックpingアドレス http://three-thread.sakura.ne.jp/tt/modules/d3blog/tb.php/23
参照元
Discount Oakley Sunglasses2014-3-10 21:34
">http://www.actwhynot.com/" target="_blank">Fitflop Sale</a> bster, discovered by <a href="http://www.lbdaw.com/" target="_blank">Fitflop Sale Singapore</a> Jasper White's Summer Shack and caught off Winter Harbor, Maine, is being held at the New Fitflop Sale England Aquarium for the Biomes Marine Biology C <a href="http://www.nalagila.com/" target="_blank">Fitflop Singapore Sale</a> enter in Rhode Island
引用:[p][bold][/bold] wrote:
引用:[p][bold][/......more
Fitflop Sale sgge

コメントの投稿

コメント投稿に関するルール : 登録ユーザ以外のコメントは承認が必要
最新のコメント
  • NickQ(2012/11/19)
  • ゲスト(2012/11/19)
最新のトラックバック
メインメニュー

ログイン
ユーザー名:

パスワード:


SSL パスワード紛失


カテゴリ一覧

アーカイブ

Books