2011年07月28日

Android メモリーリーク回避のTips

Androidで画像処理をしているとよく起こるのがOut Of Memory
それを少しでも軽減するためにチョット調べてみた。

画像を扱う場合は、onDestroyの所で
imageview.getDrawable().setCallback(null);
としたり、
ActivityをContextとして長期間(Activityのライフサイクルを超えて)保持してはいけない。長期間保持するようなときにはApplicationをContextに使う。
など。

がー!作り直し〜!><;

参考URL 1
参考URL 2
posted by 1.618 at 10:25| Comment(0) | Android | このブログの読者になる | 更新情報をチェックする

2011年07月20日

Android ListViewでスクロール時画面に消えたはずのアイテムが現れる現象について。

ListViewでカスタムしたアイテムを表示させる時はBaseAdapter等を使ってアイテムのViewをinflateさせる。

そこはいいんだが、問題はそのあと。
スクロールした際にスクロールアウトしたはずのアイテムが最後に出てきたり、逆にスクロールすると最後にあるはずのアイテムが現れたり、なんだかカオスになってしまうことがある。

なっかなかグーグル先生に聞き辛い内容なのだが解決方法をようやく見つけたのでメモっとく。

原因として、『ListViewはスクロールする時viewオブジェクトを再利用する』らしい。
これがスクロールアウトしたviewオブジェクトをそのまま再利用してケツにくっつけて書き出してると推測される。

下記がカオスってた時のgetViewメソッド。

public View getView(int position, View convertView, ViewGroup parent) {
View view = convertView;
if(view == null) {
//ここにviewのinitializeを全て書いてた。
//ただし、この方法だとviewがnullで無い場合もあるので再利用された時は滅茶苦茶になってしまう。
}
return view;
}

上記のようにview == nullの場合にのみviewを初期化するようにすると、再利用されたviewが直接出力されてしまうためカオスな状況になってしまう。

下記が修正版。

public View getView(int position, View convertView, ViewGroup parent) {
View view = convertView;
if(view == null) {
//ここではinflaterを使ってnullだった場合にのみviewをinitする。
view = inflater.inflate(R.layout.customview, null);
}

//getItemメソッドを使用してobjectを取得。
//存在した場合に上記で取得したviewの内容を書き換える。
Object object = getItem(position);
if(object != null) {
TextView text = (TextView)view.findViewById(R.id.text);
}
return view;
}


再利用したviewの内容を書き換えることで上記のような『スクロールアウトしたアイテムが表示される』問題が解決される。

参考URL
posted by 1.618 at 14:04| Comment(1) | Android | このブログの読者になる | 更新情報をチェックする

Android ListViewでOnClickItemListenerが動かない。

ListViewでリスト化する場合に、たまーにクリックが効かない事がある。
これは、ボタン等をアイテムに設置しいる場合に起こる現象のようだ。
ボタンを取っ払えばいいのだが、まぁそうはいかないので解決方法としては、ボタンのfocusableをfalseにしてやる。

android:focusable="false"

これで旨くいった。

参考URL
posted by 1.618 at 11:14| Comment(0) | Android | このブログの読者になる | 更新情報をチェックする

澤選手のあるコメント

澤選手のあるコメント
アメリカでは美談として流れているものの何故か日本では報道や掲載されない。
http://www.twitlonger.com/show/bq7e15

「我々のしていることは、ただサッカーをするだけではないことを、意識してきた。我々が勝つことにより、何かを失った人、誰かを失った人、怪我をした人、傷ついた人、彼らの気持ちが一瞬でも楽になってくれたら、私達は真に特別な事を成し遂げた事になる。こんな辛い時期だからこそ、みんなに少しでも元気や喜びを与える事が出来たら、それこそが我々の成功となる。日本は困難に立ち向かい、多くの人々の生活は困窮している。我々は、それ自体を変えることは出来ないものの、日本は今復興を頑張っているのだから、そんな日本の代表として、復興を決して諦めない気持ちをプレイで見せたかった。今日、我々にとってはまさに夢のようで有り、我々の国が我々と一緒に喜んでくれるとしたら幸いです」
posted by 1.618 at 00:56| Comment(0) | 日記 | このブログの読者になる | 更新情報をチェックする

2011年07月18日

ナデシコジャパンおめ〜!

ナデシコジャパン優勝おめ!
すげー!感動した!V
被災地の人たちにもがんばろうって気持ちが沸いただろうね〜!
日本の糞政治家の皆さんも見習えばいいのにね〜!w
蓮舫参院議員がなでしこJAPAN祝福で大炎上


ラベル:日記
posted by 1.618 at 20:41| Comment(0) | 日記 | このブログの読者になる | 更新情報をチェックする

広告


この広告は60日以上更新がないブログに表示がされております。

以下のいずれかの方法で非表示にすることが可能です。

・記事の投稿、編集をおこなう
・マイブログの【設定】 > 【広告設定】 より、「60日間更新が無い場合」 の 「広告を表示しない」にチェックを入れて保存する。


×

この広告は1年以上新しい記事の投稿がないブログに表示されております。