タグ

ブックマーク / labs.techfirm.co.jp (5)

  • CacheオブジェクトにはSoftReferenceを | Techfirm Android Lab

    Android、いかがですか。 今日もOut Of Memory、出していますでしょうか。 そんなあなたに朗報です。 少しでもメモリにやさしいプログラムを。 今日はSoftReferenceのお話です。 トレードオフ Androidで(というよりもJavaで)パフォーマンスに最も影響を与えるのはインスタンス生成の部分ではないでしょうか。 ループの中でインスタンスを生成しようものなら、たちまちあなたのUIは機敏さを失うことになるでしょう。 インスタンス生成はGCの源です。ストップザワールドを少しでも避けるためには極力newなどは控えなければなりません。 となると、インスタンスを作らないことが究極なのですが、全く作らないというわけにはいきません。ならば、一度作ったインスタンスは再利用しようではありませんか。 その時に役に立つのがキャッシュです。一度作ったインスタンスはキャッシュに保持し

  • Adapterの高速化 | Techfirm Android Lab

    Xperia発売されましたね。 うちのPICTRHYTHMもよろしくね! http://www.techfirm.co.jp/pictrhythm/ と、宣伝もそこそこに今回は、Adapterの高速化にトライします。 Androidの中でAdapterクラスは頻繁に使われます。 Adapterクラスは、データソースとビューのつなぎ役を果たすものです。 データの一覧を表示するには、ListViewやGridView、Galleryなど様々なViewがありますが、これらのViewにはsetAdapterメソッドがあり、adapterがセットされると、表示すべきデータはこのアダプターから取得するようになります。 Adapterが内部データの違い(データがArrayだったり、Listだったり、Cursorだったりなど)を吸収してくれるので、Viewは余計なことを考えずに描画に集中できるわけで

  • Android開発でのパフォーマンスTips(1) | Techfirm Android Lab

    googleは公式ドキュメントとしてAndroid開発におけるパフォーマンス設計のベストプラクティスを公開しています。 Designing for Performance | Android Developers どんなに優れたUIであってもパフォーマンスの悪いアプリはユーザにとって使いにくいものになってしまいます。 アプリのパフォーマンスチューニングは重要です。 今回は公式ドキュメントをベースにパフォーマンス設計のベストプラクティスのご紹介です。 Javaの世界で当たり前だったものが、Androidの世界では通用しないものも多々あるので覚えておきたいです。 基的な考え方 Androidで良好なパフォーマンスを得るための基的な考え方は 無駄な処理はしない 無駄なメモリは使わない ことです。以降に出てくる原則はすべてこれにのっとったものです。 オブジェクト生成は避ける オブジェク

  • Button ,ToggleButton の背景を指定する方法 | Techfirm Android Lab

    標準のボタンのデザインを変更したい。 しかし、Background を変更したらなんだかボタンぽい動きじゃなくなった。 背景画像をひとつだけ設定すると、ボタンを押しても、フォーカスしても設定された画像だけが表示されるためボタンらしい動きをしなくなります。 ボタン(Button) と トグルボタン(ToggleButton)の背景を変更する方法を紹介します。 ボタンの背景として用意しなければならないのは画像ファイルだけで5つあります。 必要がなければ作らなくてもいいんですが、最低でも2つは用意しましょう。 標準状態(フォーカスなし、押されていない) フォーカス状態 プレス状態(押されている状態) ボタンがDisableで標準状態(フォーカスなし、押されていない) ボタンがDisableでフォーカス状態 9-patch で画像を作成します。9-patch って何?というのは省略させてくださ

  • Android sdk2.0のAPIを使用して壁紙を変更してみる | Techfirm Android Lab

    せっかく新しいAndroid sdk2.0が公開されたので 新しく使用できるようになった WallpaperManager を使用して壁紙を変更してみました。 以前はこんな感じで、Intentを使用すると壁紙変更画面が表示されユーザが画像を選択することができました。 //壁紙を変更するintentを作成 android.content.Intent intent = new android.content.Intent(android.content.Intent.ACTION_SET_WALLPAPER); //intentを送信 startActivity(intent); 以下のような選択画面が出てきて、選択することで壁紙を変更できました。 これがsdk 2.0からはWallpaperManagerを使用してユーザアプリケーションから壁紙を自由に変更できるようになったようです。実

  • 1