カスタム ArrayAdapter を使用した ListActivity の ListView に問題があります。
ListActivity が非表示 (一時停止など) になると、ArrayAdpater に存在していたデータが消えたように見えます。回転は正常に機能しますが、onCreate() の ArrayAdapter に配列を割り当てるだけで、他にはありません。配列はグローバルな静的に格納されるため、配列自体は問題ありません。しかし、ListView は、アクティビティ ライフサイクルの onCreate の後のどこかで配列をピッチングしているようです。
onResume()、onStart()、またはonRestart()のいずれかで配列を再割り当てする必要があると考えていますが、これはめったに発生せず、カーソルベースのアダプターでは決して発生しないため、より具体的な理由を探しています。