私が書いているアプリは、HorrorRSSライブラリを使用してRSSフィードをロードします。私が直面している問題は、ログを見ると、このがらくたがたくさんあることです。
10-06 12:58:36.939: I/global(3159): Loaded time zone names for en in 624ms.
10-06 12:58:37.329: I/global(3159): Loaded time zone names for en in 368ms.
10-06 12:58:37.709: I/global(3159): Loaded time zone names for en in 370ms.
10-06 12:58:38.149: I/global(3159): Loaded time zone names for en in 403ms.
10-06 12:58:38.589: I/global(3159): Loaded time zone names for en in 420ms.
10-06 12:58:39.039: I/global(3159): Loaded time zone names for en in 446ms.
10-06 12:58:39.449: I/global(3159): Loaded time zone names for en in 393ms.
10-06 12:58:39.859: I/global(3159): Loaded time zone names for en in 396ms.
10-06 12:58:40.269: I/global(3159): Loaded time zone names for en in 401ms.
10-06 12:58:40.749: I/global(3159): Loaded time zone names for en in 459ms.
10-06 12:58:41.159: I/global(3159): Loaded time zone names for en in 404ms.
10-06 12:58:41.549: I/global(3159): Loaded time zone names for en in 380ms.
10-06 12:58:41.919: I/global(3159): Loaded time zone names for en in 366ms.
10-06 12:58:42.289: I/global(3159): Loaded time zone names for en in 363ms.
10-06 12:58:42.659: I/global(3159): Loaded time zone names for en in 368ms.
10-06 12:58:43.109: I/global(3159): Loaded time zone names for en in 437ms.
10-06 12:58:43.489: I/global(3159): Loaded time zone names for en in 377ms.
10-06 12:58:43.879: I/global(3159): Loaded time zone names for en in 387ms.
10-06 12:58:44.279: I/global(3159): Loaded time zone names for en in 387ms.
10-06 12:58:44.649: I/global(3159): Loaded time zone names for en in 367ms.
10-06 12:58:45.029: I/global(3159): Loaded time zone names for en in 379ms.
10-06 12:58:45.469: I/global(3159): Loaded time zone names for en in 438ms.
この質問SimpleDateFormat
で説明されているように、クラスに問題があることに気付きました。RssParser.getDate()関数がRSSフィードから日付を抽出するためにそれを使用しているようです。
これらのステートメントは、フィードをロードした直後に発生するようです。
RssParser rss = new RssParser();
RssFeed feed = rss.load("some feed url");
// This is where the log statements begin appearing.
の最初の呼び出しで、なぜそれらが一度ログに記録されるのか理解できますSimpleDateFormat
。しかし、なぜこれらのステートメントが何度もログに記録されているのか、そしてどうすればそれらを防ぐことができるのか、誰かが知っていますか?Androidシステムがリソースを大量に消費すると見なし、UIが読み込まれる前にアプリを強制終了する時間の半分の時間で、アプリを実行できなくなります。
タイムゾーン名が最初の呼び出しで1回だけロードされた場合、SimpleDateFormat
それは完全に受け入れられます。しかし、RSSフィードをロードするたびに、これらのログが数十個取得されます。キャッシュをオンにする方法などはありますか?
どんな助けでも大歓迎です。私はこれを理解できるまで基本的に水中で死んでいます。
更新:RssParser.getDate()メソッドを保護または公開するために、HorrorRSSプロジェクトに問題を送信しました。そうすれば、JodaTimeのようなものを使用する独自の実装を提供できるようになります。これでうまくいくと思います。何かご意見は?