Faster screen orientation change(日本語概要)

「Avoiding memory leaks(超訳)」*1、「Track memory allocations(日本語超訳)」*2に続く、メモリ3部作。全訳しても意味なさげなので、ソース見てということで、概要のみ。著者は同じくRomain Guyさん。

G1/ADPでキーボードを開いたり、SDKで[CTRL]-[F11]を押すと、画面の回転をするけど、このときアクティビティがリスタートするよね。この画面回転はAndroidのシステムが面倒を見てくれているけど、それを嫌って自力でインプリメントする人もいるが、短期的な解決にしかならないから、できるだけシステム任せにしてね。画面の再描画をする時に、ネットワークからデータを拾ってくる場合など、単に描画するだけではすまない場合は、ユーザの待ち時間を減らすために、onRetainNonConfigurationInstanceメソッド*3を使ってね。サンプルはPhotoStreamアプリ*4にあるから見てね。で、このメソッドでキャッシュするオブジェクトには十分注意してね。Activity/Contextに関連するオブジェクトを渡すと、盛大にメモリリークするから。View, Drawable, Adaptorもダメ。PhotoStreamではbitmapだけを慎重に切り出しているから、ソースを読んでね。また、ネットから画像を拾うみたいな、リロードすると時間がかかるものだけにしてね。

追記 2/24: あわあわ。元記事へのリンク貼り忘れてるじゃん。ごめんなさい。
http://android-developers.blogspot.com/2009/02/faster-screen-orientation-change.html