投稿

ラベル(Android開発)が付いた投稿を表示しています

Google TV BRAVIA を高速化させる

イメージ
当ブログで一番人気のエントリは2019年に書いた Android TV BRAVIA を高速化させる。 です。 なんだかんだで書いてからもう4年以上過ぎて5年に差し掛かろうとしています。 その間にAndroid TV は Google TV に名称が変わり、UIも変わってしまいました。 そこで、今回のエントリは以前書いた Android TV BRAVIA を高速化させる。 を Google TV に変更して書き直しました。 今、私が使っているBRAVIAはKJ-48A9Sです。4K BRAVIAのマスターシリーズの一番コンパクトなモデル。 Socが変わり、流石にAndroid TVの頃のようなもっさり感はなくなり、普通には使えるのですが、どうせならもっと快適にしたいと思って、高速化させてみました。 1.BRAVIAを最新バージョンにする。 はじめに本体のアップデートがある場合は必ず最新バージョンにアップデートしてください。 2.アニメーションをオフにする。 アニメーションをオフにするには開発者オプションを表示できるようにします。 メニューから設定を表示させます。 設定からシステムを選択します。 システムからデバイス情報を選択します。 デバイス情報の中に表示されている Android TV の OSビルドにカーソルを合わせて開発者オプションが有効になりました。と表示されるまで、決定ボタンを連打します。 そうするとシステムに開発者向けオプションが表示されるようになります。 ウィンドウアニメスケールをオフ トラジションアニメスケールをオフ Animator再生時間スケールをオフ 3.バックグラウンドプロセスの上限を廃止する。 開発者オプションにあるバックグラウンドプロセスの上限を使用しないに変更します。 TVなので、基本1つのアプリしか動く必要がないためです。 4.モバイルデータを常にオンにするを無効にする 開発者オプションにあるモバイルデータを常にオンにするがオンになっていたら、オフにします。 5.不要なアプリを無効化する。 使わないアプリはアンインストールしたいですが、はじめからインストールされている一部のアプリは削除できませんので、システムから強制的に動作しないようにします。それが無効化です。 設定からアプリを選択します。 アプリをすべて表示を選択します。 すべて...

Xperia Xからスモールアプリがなくなるので tooleap SDKにソニタブッターを移植してみた。

イメージ
Xperia X シリーズですがなんとスモールアプリが無くなっているそうです。 確かに公式サイト見てもスモールアプリの記述が消えています。なんてこった。次期Androidではマルチウィンドウ対応が予定されているからだとかなんとか色々言われていますが、いやいやいや、マルチウィンドウって単なる画面均等分割であってスモールアプリのあの使い勝手の良さをソニー自身が認めていないってどう言う…とか色々思うところがありますが、無くなったものは仕方無い。 私は今までちょいちょいアプリを作っていましたが、今はソニタブッター For SmallApp ぐらいしかメンテしていませんでした。これは日ごろから自分も使っていて気になる部分は直し、ユーザーの声もなるべく反映させて更新しているつもりです。 スモールアプリの利点を最も活用できるアプリだと自負しているのですが、スモールアプリがなくなる。つまりアプリの死を意味することで、それはめちゃくちゃ困ります。なんせスモールアプリは一画面であれこれすることしか想定していないような作りを無理やり実装していて愛着があるからです。 Androidアプリでたまにスモールアプリのようなフローティングで動作するアプリがあるのを見た事がありました。と言う事は自分でも作れると思い調べてみたところ、確かにServiceを使えばできそうでした。ですが、調べている途中に何やら良さそうなライブラリを見つけました。 tooleap です。 これデモ動画を見れば分かりますが、Facebook メッセンジャーのクローン。まんま同じ動きをしています。 ただ、ウィンドウサイズは固定。そこもFacebook メッセンジャーと同じみたいなのでスモールアプリのような柔軟さはないです。ただ、ウィンドウはフローティング表示されているのでながら作業はある程度はできそう。最小化表示もできるので見たい時だけ見ると言うのも可能だと思います。 ざっーと移植してみたら以外とあっさりできてしまいました。これは色々可能性ありそうです。但し、利用するにはtooleapからAPIキーを取得しないといけないのと、まだ微調整ができていないのでリリースはしていない状態です。てかAPIキー発行されないのだが.... なんとか今月中にはリリースできるようにしたいですね。

Androidの画像表示にライブラリ Picasso を使ってみた。

イメージ
Androidアプリの開発でサーバー上にある画像を表示する処理って結構頻繁に使うのに鬼門だったりします。 一番多いのはOutOfMemory でしょう。大きい画像を2枚読み込んだだけで死んでしまう事すらあります。 そのためにrecycleメソッドを適切に呼び出したりなんやかんや工夫しないといけません。 またキャッシュ機能の実装も考えないといけません。SoftReference にするとすぐキャッシュが切れるので例えばローカルにファイルを作ったりあれこれ対策をします。 ネットワーク通信はバックグラウンドでViewとは別に処理をするのは当たり前ですが、例えば王道のAsyncTaskを使うと128個の上限に当たって java.util.concurrent.RejectedExecutionException: pool=128/128 なんてエラーで止まってしまう事もあります。 尚且つ高速に処理しないといけないのでThreadを切りまくったり、色々ややこしくなります。 個人的に開発しているtwitterクライアントですが、近年サムネイル表示が普通になってきたために画像処理が増えパフォーマンス面で納得できていない部分がありました。 昔ならAndroidならjavaだから幾多のライブラリが使えるって感じでしたが、今はAndroid用のライブラリが沢山用意されています。 画像処理なんて誰もが楽したい部分なので何か良いライブラリがあるのかな?と思っていましたが結構ありました。色々試してみましたが、その中でも個人的に良いと思ったのが Picasso です。 今までの苦労はなんだったのか?と思うぐらいのシンプルさと処理のスムーズさ。当然キャッシュも実装。神だと思いました。 使い方はこんな感じ ImageView imageView = (ImageView) view.findViewById(R.id.icon); String imageUrl = “どっかのネットワーク上の画像” Picasso.with(getContext()).load(imageUrl).into(imageView); 個人的には車輪の再発明は知識を得るためにそこまでアホとも思いませんが、めちゃくちゃ便利な世の中になったものだと思います。良いライブラリをいかに見...
ソニーストア