前回のエントリで紹介したBundleSaverを作成する際に、SparseArrayというクラスの存在を知りました。 SparseArrayは、Android向けにつくられたパフォーマンスに優れたHashMap代用とのことで、その使い方と気になる性能について調べてみました。 実際に測定することでメリットやデメリットがわかったので、ご紹介します。 SparseArrayってなぁに? どう使うの? HashMap と SparseArray の性能比較 考察 まとめ 参考(計測に利用したクラス) 1. SparseArrayってなぁに? SparseArrayは、キーにintを利用することを前提としたHashMapだと考えると分かりやすいかと思います。 (Integerではなく、intです。) また、SparseArrayでは、値にObject型を格納できますが、値がint, booleanの
Androidで、Bundleへの保存/復元を自動で行ってくれるユーティリティをつくりました。 GitHub / monochromegane / BundleSaver 2012/07/08 BundleSaverのバージョンアップと使用手順の変更を行いました。 下記ページもあわせてご覧ください。 続・振る舞いのよいAndroidアプリのために。StateSaver。 今回のアジェンダです。 Bundleってなぁに? Bundleの問題点 BundleSaverで解決 1. Bundleってなぁに? AndroidのActivityにはライフサイクルがあります。 別のアプリが前面に来るなどして、バックグラウンドにまわった後、他のアプリによってメモリが不足した場合にActivityが破棄されることがあります。 このとき、メモリ上にだけ展開されていたインスタンス変数などの値も破棄されてしまい
先日公開した、電話帳アプリ「OneHand Dialer」ですが、品質、性能面で問題ありとのご指摘を受けました。 今回は、備忘録も兼ねて、対策内容をまとめておきます。 Android ListViewを速くするためにやったこと 現象と原因 正規表現の使用は極力避ける Bitmapはキャッシュする BitmapはBitmapFactory.Optionsを使って縮小する おまけ:GC発生箇所の調査環境構築 1. 現象と原因 以下の現象が発生するとのことで、調査を行いました。 ・端末:GALAXYNexus(Android 4.0) ・起動時の読み込みに5秒ほどかかる ・データ件数は300〜400件程度 ・その他、よく落ちるとのこと(詳細不明) うーん…。 自分の端末での動作確認のときは、そんなに連絡先の件数が多くなかったこともあり、再現できてなかったのですが、 同等件数のデータと顔写真データ
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く