FastLruCache
気になってしょうがなかったのでシングルスレッド用のFastLruCache作りました。古い端末ではちょっと早くなった気(?)がします。。
本当は元のソースからsynchronizedだけ外したやつ作っても良かったけど、それもそれでどうかなぁと思ったので若干マイロジックで作ってます。AndroidのLruCacheはAndroidでカスタマイズしたLinkedHashMapを使っていたので、本家のJavaライブラリのLinkedHashMapをベースに作りました。本家のやつは一回で一個しかeldestエントリをremoveできないので、大変トリッキーなコードになってます。trimToSizeで毎回Iteratorオブジェクトを作っているのです。これはこれでどうなんだろうってコードです。JavaのMapはIteratorでしか順序アクセスできないのはどうなんだろうと思う次第です。でもsynchronizedでないLruCacheが試せたので、まぁゆっくり寝れそうです(笑)
LruCache は遅い
自分が初めてGitHubで公開しましたGalleyFragmentでBitmap用のキャッシュとしてLruCacheを使用しました。でも無駄なパフォーマンスを使うことになりそう。なぜならLruCacheはスレッドセーフ(synchronizedの山)だから。自分はシングルスレッド(UIスレッド)でこのクラスのキャッシュ機能使うつもりでいたので、ちょっとショック。でもAPIドキュメントにしっかり'thread-safe'って書いてある(笑)。ソース覗いてみて、この程度のコードならスレッドセーフじゃないやつ自作してもよい感じ。ひまなときやろう!本当にひまなとき!。。複数スレッドでキャッシュ機能を使いたいときにはLruCacheは便利なのかも。。
以下はリポジトリです。
GW終盤
Uターンラッシュも始まっていよいよゴールデンウィークも終盤になってしまいました。GWで自分のやりたかったことはあまりできてないかも。きっと自分は欲張りなんだなぁ。
たまには旅行とかもしたい。でも、まだ自分に納得できていないんですね。くそも儲からないアプリ開発ですが、それだけ自分にとってかけがえのないものになっているw
で、いつ満足できるかというと、スタックされたメッセージをひたすらキューから取りだし処理して、スタックが空になったころかなぁ。でも日常を過ごしていると、また更にやりたいことがポストされるので、もはやスタックオーバーフロー気味w
スレッドプールにいるワーカースレッドをちょいと増やせばいいとは思いますが、どうしても自分だけでやりたいんですね。また、メモリの共有とか面倒だし。。何か書いてること終わってんなw
初めてのGitHub公開
一介のプログラマならGitHubに何か1リポジトリぐらいは公開してみせよ。。って心が騒いだのでやってみました。
[https://github.com/malta-yamato/android-gallery-fragment:embed:cite]
RecyclerViewを使ったサムネイルのギャラリーアプリです。2~3日で作ったのですごくシンプルです。シンプルなだけ応用していくのは楽と思います。。でもプルリクエストやらにこたえられるかは微妙です。
しかし、GitHubに公開するだけでそれなりにはまった。公開鍵とか秘密鍵とかSSHとか設定面倒ですよね。Windowsからやったので、結局SourceTreeを使ってpushしました。うんこWindows。。
それではまたね!
GW始まりました
GW始まりました。自分は特に予定ないけどだらだらしてます。WordPressとかアプリの機能アップとかやってます。まぁ、それなりに充実してます。
Android Oではバックグラウンドでのサービス実行にさらなる制限が加わるようです。ユーザからしてみれば電池もちの向上が期待でき良いのですが、開発者側はきっと対応が大変でしょう。自分のアプリも、もしかしたら影響でるかもなので対策とりたいですが、まずデベロッパプレビューのロム焼きができる端末を入手しないといけない。。Nexus5Xでも買おうかな。
GoogleからNexusというブランド無くなったけど、じゃあこれから新OSに対するアプリの事前デバッグってどの端末選べばいいのって感じなんだけどさぁ。
無理ゲー
Android の公開アプリのみで生計を立てるのははっきりいって無理ゲーです。自分を含め、いろんなコミュニティみて感じることです。夢見るかたはまず、その無理ゲー感を念頭に始めると良いと思いますw。無理ゲーでも絶対クリアできない訳じゃないんだし。現実を知ったときのダメージも少なくなります。
自分もその無理ゲーに果敢にチャレンジしている訳です。まぁ、パートタイムで一日も働けば自分の今の収益ぐらいにはなるんですがw。これはもはや好きじゃなきゃやってられないレベルです。
でも、確実にスキルは身について行くでしょう。世に役に立つようなスキルを習得できるかもしれません。しかし、ほとんどは自己満足の世界です。絶対成功するぞと始めるのはとても危険なことだと思います。
会社が嫌だから辞めてアプリ開発を始めることはとてもオススメできません。