Html.fromHtml()はカジュアルに使うものではない?
拙作のツイッタークライアントが、起動して3時間ほど放置しておくと全く動かなくなってしまうようになった。どこか触るとANRが出て落とせるので、その都度traces.txt
を見ると、いつもHtml.fromHtml()
を呼んでるところで止まっている様子。
内部ではパーサーオブジェクトのイニシャライズでnew char[2000]
をやっているところだった。
Cross Reference: /external/tagsoup/src/org/ccil/cowan/tagsoup/Parser.java
名前やコメントから察するにこの配列はHTMLのコメント部分を読み込む時に使うバッファのようなのだが、メンバ名で検索しても宣言の箇所しかヒットしない。可視性がprivate
なのでなんのためにあるのかわからなかった。
traceviewで見ると処理時間も結構かかるようだし、せいぜい1行のTextView
に使うには大げさなのかなと思ってなるべく呼ばないようにする工夫を入れた。固まってしまう原因はまだよくわからないので経過を見守ることにする。
(これはAndroid 6.0で確認した)