Android Nで増えるはずなSystem Serviceを雑に見てみた

Android Mと比較して、Android Nから増えるSystem Serviceを雑に見てみた。

Nと言ってもPreview 2のNなので、もしかしたらさらに増えるかもしれないし、増えないかもしれない。多分減ることはないと思う。

あと、端末の状態によっても取得できるSystem Serviceの一覧が変わってくる??みたいなことがもしあった場合、この結果は必ずしも正しいとは限らないのでそこら辺すまないね...。

System Serviceの一覧を取得する

System Serviceを洗い出すのはdumpsysを使えば一発。

adb shell dumpsys -l

上のコマンドを実行すれば端末で動いているSystem Serviceの一覧が取得できる。

んじゃ、このコマンドをAndroid Mが入ったNexus 5とAndroid N Preview 2が入ったNexus 5Xに実行し、出力結果を比較してみる。

Android Nで増えるSystem Serviceはこいつら

以下の19個が増えるかもしれないSystem Service。

※ 動いてないSystem Serviceはないはず!という前提で。あったごめんね...

AtCmdFwd
android.hardware.fingerprint.IFingerprintDaemon
cneservice
connectivity_metrics_logger
contexthub_service
hardware_properties
ims
inputflinger
media.codec
media.drm
media.extractor
network_time_update_service
otadexopt
persistent_data_block
qti.ims.connectionmanagerservice
recovery
shortcut
soundtrigger
vendor.qcom.PeripheralManager

それぞれが何を担うSystem Serviceなのかはおいおい調べるとして、まー結構増えるな。

しかもぱっと見で何が何をするのかよくわからないものが多い...。

うーん、Androidが肥大化していって、System Serviceが増え続けることは果たしていいのだろうか...。

System Serviceをどこかのバージョンでいきなり切り捨てるとなると、わりと影響範囲が広いがそろそろ棚卸ししてもいい時期だと思うんだが。

実際にDumpした内容はここのRepositoryに置いた。

github.com

追記 というかごめん...

冷静にDiffを眺めてたら「android.hardware.fingerprint.IFingerprintDaemon」とかはNから増えるSystem Serviceじゃなさそう。

比較する対象の端末が違うからHWも違うので、そこら辺でSystem Serviceの違いも出てきそうな予感。

ということで、今度Android Mが入ったNexus 5XとAndroid N Preview2が入ったNexus 5Xでdumpsysの比較をしてみます。

雑に適当な結果を出して申し訳ない!!

GW中にNetflixで見た映画とアニメの話がしたい!

勝手にしてろ案件ですが、最近見たものをすぐに忘れるので書き残しておこうかと。

Netflixは視聴履歴みたいな機能がない気がするので、もはや書き残しているものが正しいのかもわからない...。

Netflixはログインしないと中のコンテンツが見れないっぽいのでリンクは適当に。

特に見たものに対して熱く語ってるみたいなことはないです(笑)でも直接人と話す時は語りたい!!

アニメは新規ではなく全て見なおしたものばっかりだった。

Fate/Zero

Fate/Zero-アニメ公式サイト-

いやー、やっぱりFate/Zeroの絵のクオリティは素晴らしい!!

空の境界もそうだったけどとにかく戦闘シーンの絵が痺れる!ufotableすごいぞ!

STEINS;GATE

steinsgate.tv

STEINS;GATEこれで何回目だよ!ってくらいNetflixで見てるなー。

原作もいいけど、やっぱりアニメもよくできてるんだわ。

STEINS;GATE 0も時間がある時にやり直したい!

劇場版 STEINS;GATE 負荷領域のデジャヴ

steinsgate-movie.jp

STEINS;GATE見た流れでこっちも見てしまうよねー。

デュラララ ×2 承

www.durarara.com

毎日お風呂入りながら1話ずつ見直してる。

面白すぎて最近は2話ずつ見てる(笑)この時期になると浴槽のお湯も冷めなくなってくるのでちょうどいい!!

12モンキーズ

movies.yahoo.co.jp

SFコメディみたいな感じがして面白かった!

タイムトラベルものが好きな人にはオススメかなー。

マッドマックス 怒りのデス・ロード

movies.yahoo.co.jp

見た感想としては、なぜこれを映画館で見なかったのか!?というツッコミを自分にしましたねー。

Netflixで見ても痺れる作品だった!

ゾンビ・リミット

movies.yahoo.co.jp

ゾンビ映画として新しい視点だなーという印象だった。

ゾンビ映画なのでいつものゾンビゾンビしたものを期待してたんですが、全然違いましたね。

それでもゾンビ映画でこんなものが作れるのかーと感激した。

原題が「THE RETURNED」らしくて納得した(笑)ゾンビいらんよ(笑)

セブン

movies.yahoo.co.jp

これは見返したもの。

見るの2回目だけど面白いですねー。

まとめ

Netflixでまだ見たいものがいっぱいありすぎて、毎日Netflix見て生活したいんですが、私は明日から仕事なのですよ。

これはもう仕事中にNetflixを見るしかないのでは??

GW中にNetflixで見た映画とアニメの話がしたい!

勝手にしてろ案件ですが、最近見たものをすぐに忘れるので書き残しておこうかと。

Netflixは視聴履歴みたいな機能がない気がするので、もはや書き残しているものが正しいのかもわからない...。

Netflixはログインしないと中のコンテンツが見れないっぽいのでリンクは適当に。

特に見たものに対して熱く語ってるみたいなことはないです(笑)でも直接人と話す時は語りたい!!

アニメは新規ではなく全て見なおしたものばっかりだった。

Fate/Zero

Fate/Zero-アニメ公式サイト-

いやー、やっぱりFate/Zeroの絵のクオリティは素晴らしい!!

空の境界もそうだったけどとにかく戦闘シーンの絵が痺れる!ufotableすごいぞ!

STEINS;GATE

steinsgate.tv

STEINS;GATEこれで何回目だよ!ってくらいNetflixで見てるなー。

原作もいいけど、やっぱりアニメもよくできてるんだわ。

STEINS;GATE 0も時間がある時にやり直したい!

劇場版 STEINS;GATE 負荷領域のデジャヴ

steinsgate-movie.jp

STEINS;GATE見た流れでこっちも見てしまうよねー。

デュラララ ×2 承

www.durarara.com

毎日お風呂入りながら1話ずつ見直してる。

面白すぎて最近は2話ずつ見てる(笑)この時期になると浴槽のお湯も冷めなくなってくるのでちょうどいい!!

12モンキーズ

movies.yahoo.co.jp

SFコメディみたいな感じがして面白かった!

タイムトラベルものが好きな人にはオススメかなー。

マッドマックス 怒りのデス・ロード

movies.yahoo.co.jp

見た感想としては、なぜこれを映画館で見なかったのか!?というツッコミを自分にしましたねー。

でもNetflixで見ても痺れる作品だった!

ゾンビ・リミット

movies.yahoo.co.jp

ゾンビ映画として新しい視点だなーという印象だった。

ゾンビ映画なのでいつものゾンビゾンビしたものを期待してたんですが、全然違いましたね。

それでもゾンビ映画でこんなものが作れるのかーと感激した。

セブン

movies.yahoo.co.jp

これは見返したもの。

見るの2回目だけど面白いですねー。

まとめ

Netflixでまだ見たいものがいっぱいありすぎて、毎日Netflix見て生活したいんですが、私は明日から仕事なのですよ。

これはもう仕事中にNetflixを見るしかないのでは??

僕が今この時に設計に大事だと思っているものを書き残しておく - 2016/05/04

ソフトウエアやアプリケーションの設計に正解はない。

僕が何かを設計する上で大事に思っていることってなんだろーと毎回思うので書き残しておく。

思う存分今この時に設計に大事だと思っていることを書いていってほしい(僕が書くんだが...)

基本的にAndroidのアプリの設計をメインにやっているが、あまりその枠にとらわれないようなことも書いていく。

僕が今この時に設計に大事だと思っているものを書き残しておく

僕はバカだ

まず、僕はバカだ。

バカなので頭が良さそうなエンジニア様が考えてくれた最強の設計みたいなのは厳しい。

バカを直して、頭が良さそうなエンジニア様と同じ土俵に立つという解決策もあるが、それは今日時点ですぐにできるものではないので保留する。

とにかく僕がバカであることを認めるんだ。

日々当たり前のことをInputし、Outputするんだ。見栄を張って設計とはなんぞや!をいきなり語ってはいけない。

大事なこと その1 : 僕はバカだ

僕は設計が嫌いだ

僕は設計が嫌いだ。

さっそくどうしようもない発言が出てしまった...。

いやでも、嫌いなものは嫌いなんだ。仕方ない。

なぜ嫌いなのか追々どこかで書いていくかもしれない。今はとにかく設計が嫌いということだけ言っておく。

嫌いというか、大っ嫌いだ。

大事なこと その2: 僕は設計が嫌いだ

手段と目的が逆になってはいけない

そろそろ真面目に考えよう。

自分が作っているアプリケーションはどんなものなのか?

設計はこれにも依存してくる。

Viewと呼ばれるユーザの目に見えるものが全く必要のないアプリケーションがあったとして、それにMVCだのMVVMだのMVPだのを導入しても効果は薄い。

雑に言いたいことをまとめると、手段と目的が逆になってはいけない

果たしたい目的に対して、良さそうな手段と取るべきだ。逆になってはいけない。設計を考える上でも同じだ。

大事なこと その3: 手段と目的が逆になってはいけない

設計で考慮する点

設計を考えていく過程で考慮すべき点がいくつか出てくる。

例えば、柔軟性、可視性、テスタビリティ、拡張性、信頼性、保守性、互換性、モジュール性...などなど。色々ある。

これらは設計以外にもデザインパターンなどの手法で担保できるものもある。

では上であげたようなものの中で、僕が今この時に設計に大事だと思っているものはなんなのか。

今は柔軟性、可視性、拡張性、再利用 を大事にしていきたい。

具体的にどんな風に??という話は今は保留にする。書くのがだるいんだ。

大事なこと その4: 設計で考慮する点として、柔軟性、可視性、拡張性、再利用 を大事にしていきたい

時には設計のレールから外れよう

設計と聞くと「この設計はこうあるべきだ!だからお前のその実装はMV◯◯ではない!雑種が!!」という、いわゆる厳密な定義をしたい人達からマサカリというありがたいものが飛んでくる場合がある。

別にdisってるわけじゃない。マサカリが飛んできたら、それは設計に対する愛だ!僕をもっとその設計に染めてくれる愛が飛んできてるんだ。受け止めろ。

しかしだなー、僕は設計が嫌いだ。そして、飽きっぽい。さらに、レールの上を歩くと億劫になる。

厳密に定義された世の中にはびこるMV◯とかFlux、Reduxを真面目に考えたくない。

やっているうちに、つい僕のオリジナリティーが溢れてしまい、オレオレ設計が出来上がる。

まあ...それでもいいじゃないか。オリジナリティーが許容される設計が好きだ。

それはもう厳密には設計という枠組みに収まらないかもしれない。

けれども、実際にアプリケーションのコードを書くのは僕だ。僕の好きなように書かせてくれ。

自分勝手でやばい奴に思えるが、 チームでアプリケーションを作る時は別だ。

レールの上から外れたい時には絶対に相談する。

でも、オリジナリティーを含んだ設計で僕達が組みやすいように組んでいくことで楽しくコードが書けるんなら幸せだ。

大事なこと その5: 時には設計にオリジナリティーを加えよう

まとめ

大事なこと その1 : 僕はバカだ

大事なこと その2: 僕は設計が嫌いだ

大事なこと その3: 手段と目的が逆になってはいけない

大事なこと その4: 設計で考慮する点として、柔軟性、可視性、拡張性、再利用 を大事にしていきたい

大事なこと その5: 時には設計にオリジナリティーを加えよう

以上が僕が今(2016/05/04)この時に設計に大事だと思っているものだ。

未来の僕がさらにいい設計に出会えることを期待している。

ChromeのData Saverがどれくらいデータを削減してるのか見てみた

Chromeにはそこそこ前からData Saverという機能があるんだけど、こいつがどれくらいちゃんと動いているのか気になったので試しにまとめてみた。

PC版Chromeだと拡張機能からData Saverの機能が使える。

chrome.google.com

AndroidChromeについては、拡張機能ではなくChromeアプリそのものにData Saverの機能が搭載されている。

AndroidChromeだとToolbarの設定から [詳細設定] -> [データセーバー] あたりを見れば機能がONにできるはず。

ちなみに、iOSChromeではData Saverはないので残念だ。

そもそもData Saverとはなんぞや??

ざっくりChromeのData Saverとは以下のような感じ(どこかに書いてあることを丸パクリ)

アクセス先ページを最適に表示するために Google のサーバーを使ってデータ使用量を削減します。

データ使用量を抑えながら快適にブラウジング


この拡張機能を有効にすると、アクセスするページはダウンロード前に Google サーバーで圧縮されます。

プライベート接続(HTTPS)またはシークレット タブを使用してアクセスしたページについては、Google による最適化や確認は行われません。

ふむふむ。Googleさんがアクセスしたページをゴニョゴニョして、本来普通にアクセスした時よりもデータ使用量を削減してくれるって話。

最近は全ページがHTTPSのサイトが増えてきたので削減できそうだけどHTTPSだから無理ー(´・ω・`) みたいなサイトもありそうな気がする。

設定の方法とかもろもろ詳しくは以下のHelp等を見てほしい。

support.google.com

もっと技術的なことが気になる人は以下も合わせて読んでみるといい。

Data Saver - Google Chrome

www.sitepoint.com

実際にData Saverのデータ削減量を見てみよう

ということで、私用PCのChromeでどれだけData Saverによってデータ使用量が削減できているのかざっくり確認してみた。

まずはわかりやすいグラフからざっくり確認してみた。

PC版ChromeのData Saver 直近7日間のデータ使用量とデータ削減量のグラフ

直近7日間のデータ使用量とデータ削減量をグラフで見ると以下のような感じ。

f:id:operando:20160503231357p:plain

PC版ChromeのData Saver 直近60日間のデータ使用量とデータ削減量のグラフ

直近60日間のデータ使用量とデータ削減量をグラフを見ると結構データ削減できていることがわかる。

f:id:operando:20160503231536p:plain

AndroidChromeのData Saverのグラフ

AndroidChrome(Chrome Dev)のData Saverのグラフは以下のような感じ。

PCと比べてそもそもデータ使用量があまり多くないのはモバイル向けに最適化されたページが最近は多いからかなーという印象。

PC版ChromeのData Saverと違ってサイト別の細かいデータを見る方法がわからなかった。

f:id:operando:20160503232321p:plain

PC版ChromeのData Saver 直近7日間で実際にデータ削減が行われたサイト

以下の表はPC版ChromeのData Saverにより直近7日間で実際にデータ削減が行われたサイトのURLを表でまとめてみた。

※1 ちょっとやばそうなサイトのURLは削っている。もしやばそうなサイトのURLが残ってても見て見ぬふりをしてほしい!!頼む!!

※2 プライベート接続(HTTPS)またはシークレット タブを使用してアクセスしたページについては、Google による最適化や確認は行われません

サイト 元のサイズ データ使用量 データ削減量 ※2
itunes.apple.com 12.8 MB 5.5 MB 7.4 MB (57.3%)
www.akibaphotography.net 9.2 MB 1.8 MB 7.4 MB (80.2%)
www.amazon.co.jp 20.5 MB 14.5 MB 6.0 MB (29.5%)
developer.android.com 4.5 MB 1.7 MB 2.8 MB (61.7%)
booklog.jp 6.0 MB 4.7 MB 1.3 MB (21.6%)
www.slideshare.net 2.2 MB 1.1 MB 1.1 MB (49.0%)
www.expansys.jp 1.5 MB 505.4 KB 1.0 MB (67.8%)
willowtreeapps.com 1.4 MB 420.1 KB 971.6 KB (69.8%)
blog.hatena.ne.jp 8.1 MB 7.2 MB 877.0 KB (10.6%)
saulmm.github.io 838.3 KB 88.7 KB 749.6 KB (89.4%)
techlife.cookpad.com 920.8 KB 172.0 KB 748.8 KB (81.3%)
www.replia.io 1.1 MB 363.2 KB 747.6 KB (67.3%)
www.androidpolice.com 2.5 MB 1.8 MB 707.0 KB (27.8%)
www.fujitsu.com 883.8 KB 220.7 KB 663.1 KB (75.0%)
www.horindo.co.jp 919.0 KB 260.0 KB 659.0 KB (71.7%)
weather.yahoo.co.jp 1.1 MB 589.0 KB 552.3 KB (48.4%)
comicvine.gamespot.com 1.1 MB 626.2 KB 534.3 KB (46.0%)
ggsoku.com 2.1 MB 1.6 MB 501.6 KB (23.0%)
blog.stablekernel.com 1.1 MB 700.3 KB 473.8 KB (40.4%)
hack-it-iron.hatenablog.com 3.3 MB 2.9 MB 460.2 KB (13.5%)
central.sonatype.org 641.8 KB 272.8 KB 369.0 KB (57.5%)
suumo.jp 2.3 MB 2.1 MB 271.9 KB (11.3%)
search.maven.org 388.9 KB 163.0 KB 225.9 KB (58.1%)
cdn.rebuild.fm 184.1 KB 25.3 KB 158.8 KB (86.2%)
www.techscore.com 725.4 KB 588.7 KB 136.6 KB (18.8%)
qiita.com 22.0 MB 21.9 MB 134.8 KB (0.6%)
nihaoshijie.hatenadiary.jp 458.8 KB 361.7 KB 97.1 KB (21.2%)
vividcode.hatenablog.com 273.7 KB 218.7 KB 55.0 KB (20.1%)
dev.ariel-networks.com 97.6 KB 45.4 KB 52.2 KB (53.5%)
tagomoris.hatenablog.com 500.0 KB 450.2 KB 49.8 KB (10.0%)
Chrome 拡張機能: はてなブックマーク GoogleChr... 366.5 KB 317.2 KB 49.3 KB (13.5%)
d.hatena.ne.jp 450.4 KB 401.8 KB 48.6 KB (10.8%)
stackoverflow.com 460.5 KB 418.4 KB 42.1 KB (9.1%)
wiki.fdiary.net 124.1 KB 82.6 KB 41.5 KB (33.5%)
www.apple.com 1.3 MB 1.3 MB 38.1 KB (2.8%)
irof.hateblo.jp 344.9 KB 312.1 KB 32.7 KB (9.5%)
shibuya-apk.connpass.com 53.2 KB 24.9 KB 28.3 KB (53.2%)
bleis-tift.hatenablog.com 1008.3 KB 980.6 KB 27.7 KB (2.8%)
kirimin.hatenablog.com 533.4 KB 508.3 KB 25.1 KB (4.7%)
square.github.io 66.3 KB 49.0 KB 17.3 KB (26.1%)
www.javatuples.org 23.2 KB 12.5 KB 10.6 KB (45.9%)
www.google.co.jp 49.8 MB 49.8 MB 8.4 KB (0.0%)
tools.oesf.biz 16.9 KB 11.2 KB 5.7 KB (33.7%)
www.material-ui.com 741.9 KB 737.0 KB 4.9 KB (0.7%)
repo1.maven.org 3.9 KB 783.0 バイト 3.2 KB (80.5%)
googledevjp.blogspot.jp 2.4 MB 2.4 MB 2.0 KB (0.1%)
mercari.connpass.com 643.4 KB 642.1 KB 1.3 KB (0.2%)
shinobu-apk.connpass.com 180.1 KB 179.4 KB 724.0 バイト (0.4%)

直近7日間でアクセスしたサイトでデータが削減されなかったサイトの一覧

では逆に直近7日間でアクセスしたサイトでデータが削減されなかったサイトURLを表にしてみた。

※1 削減できなかった = サイトの構成が悪い というわけではない。HTTPSのみだったサイトも存在するだろうし

サイト データ使用量
play.google.com 66.0 MB
github.com 95.5 MB
clients1.google.com 31.7 KB
ssl.gstatic.com 6.4 KB
plus.google.com 8.5 MB
Chrome 拡張機能: Google 翻訳 2.7 KB
getpocket.com 1.7 MB
scontent.xx.fbcdn.net 110.3 KB
www.facebook.com 18.8 MB
clients4.google.com 1001.4 KB
twitter.com 149.8 MB
www.gstatic.com 94.6 KB
www.googleapis.com 8.6 KB
www.google.com 291.3 KB
datasaver.googleapis.com 7.8 KB
ja.wikipedia.org 164.7 KB
Chrome 拡張機能: Highlight to Search 813.0 バイト
sites.google.com 469.3 KB
soundcloud.com 2.4 MB
Chrome 拡張機能: Session Buddy 282.0 バイト
clients2.google.com 10.1 KB
affiliate.amazon.co.jp 334.9 KB
oss.sonatype.org 4.0 MB
t.co 4.0 KB
medium.com 2.4 MB
speakerdeck.com 17.3 MB
www.khronos.org 245.1 KB
hub.docker.com 4.1 MB
developers.google.com 320.1 KB
droidkaigi.github.io 287.5 KB
apis.google.com 63.9 KB
Chrome 拡張機能: Evernote Web Clipper 583.0 バイト
Chrome 拡張機能: Android SDK Search 86.6 KB
futurestud.io 628.8 KB
Chrome 拡張機能: Save to Pocket 998.0 バイト
accounts.google.com 225.0 KB
rebuild.fm 1.1 KB
onesignal.com 3.9 KB
android.clients.google.com 554.0 バイト
www.instagram.com 2.6 MB
steers.jp 5.0 MB
codic.jp 1.0 MB
ja.todoist.com 3.6 MB
calendar.google.com 1.3 MB
mail.google.com 7.9 MB
keep.google.com 1.5 MB
chrome.todoist.com 429.3 KB
Chrome 拡張機能: Todoist: To-Do list... 386.3 KB
todoist.com 606.3 KB
www.pushbullet.com 460.2 KB
feedly.com 3.1 MB
Chrome 拡張機能: feedly 501.9 KB
www.vinted.com 311.5 KB
Chrome 拡張機能: データセーバー 1.2 KB
suzuri.jp 864.4 KB

まとめ

ChromeのData Saverは優秀に動いていると思う。

またAndroidChromeのData Saverはさらに優秀な働きもしてくれるらしい。

以下で紹介されているData Saverが今回紹介しているData Saverと技術的にイコールなのかと聞かれると微妙な感じだけど。

ちなみに、これはまだ一部の国でしか使えない機能らしい。多分モバイル回線があまりよくない国がメインターゲットになっている。

jp.techcrunch.com

Google Chrome Blog: A new way to save data with Chrome on Android

今後は機会があればData Saverという素晴らしい機能について技術的観点で色々調べてみたい。