ブログを引越します。

テーマ:
http://soba-ha-kenkou.hatenablog.com/

こちらでオープンソースライブラリの使い方の紹介などしていきます。
AD

Android drawBitmapでのメモリリーク

テーマ:
バグを出したので、備忘的に投稿

独自にピンチイン/アウトやドラッグ可能なViewを作成
その画像切り替えのタイミングで
this.imgBitmap.release();
this.imgBitmap = null;
System.gc();
的なコードを用意

かなり重い画像なので明示的にGC動いてよとしてます。

でも、上記処理を呼んだだけでは解放されずに
画像がリークおこしてらっしゃる。。。

drawBitmapで表示中の画像は解放されないようなので、
drawColorを呼んでから、解放処理を呼ぶ必要があるみたい

1つ大人になったけど、リークしてから気付くのは情けない。。。
AD
最近何をネタにしていいか悩んでいて、仕事で使った物をネタにしてます。

今回はプログレスダイアログについてです。

コードからどうぞ

@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
ProgressDialog dialog = new ProgressDialog(this);



dialog.setCancelable(true);
dialog.setMessage("hogehoge");
dialog.show();
}


以上です。

って言うのはさすがに気が引けるので、
まず、プログレスダイアログ=進捗表示とかのダイアログです。
時間がかかる処理をすると、少々お待ちくださいグルグルとか
windowsの砂時計カーソルとか、macのレインボーカーソル(?)です。

ユーザに処理してるからちょっと待てよとアピールする物ですね。

見せた方が早いので画面です。



処理の説明です。
ProgressDialog dialog = new ProgressDialog(this);
これでインスタンス生成です。
いつも通りContextが引数。


dialog.setMessage("hogehoge");
ここでダイアログに表示するメッセージを指定します。

dialog.setCancelable(true);
これはダイアログが出ている間に戻るボタンで非表示に出来るかどうかのフラグでず。
trueなら非表示にできて、falseだとできません






AD