【Nexus5】ランタイムをARTにするとLINEの通話機能が使えないずら

2013/12/03

Nexus5

t f B! P L
どうも皆様、ぎんときパパ(@kingpapax10)です。


今回は、Nexus5でランタイムをARTにすると、LINEの通話機能が使えないって話しです。

最近、キャリアメールは使用せず、プライベートなやり取りはLINEのトークで済ませているわけですが、たまにクイーン(嫁)からLINEの通話機能で直接話す事もあります。


つい先日、クイーンからLINEの着信があったので、かけ直したんですが....なんと強制終了で通話機能が使えない状態になっていたのです。















ちなみに、トーク等の他の機能は問題なく使えていて、通話機能だけがNGでした。



最初は、rootedにしている影響かと思ったので、Unrootにして再度試したんですが.......やっぱりダメ。。。


う~ん..............もしかして?


考えた結果、root化以外で設定を変更しているといったら、ランタイムをARTにしている事くらいしかなたかった為、ARTからDelvikに戻してみたら............繋がった^^;


ところで、そもそも「ART」って何?と思う人もいると思うので、簡単に説明しますね。


ARTとは何か?


ARTは「Android RunTime」の略で、バージョンのAndroid4.3(JellyBean)まで使われていた仮想マシン「Dalvik」に取って代わる為に、Googleが密かに?開発していた新しい仮想マシンの事。

このARTを採用することによって、従来のDalvikよりもアプリの動作を高速化し、バッテリー消費を抑えることが可能になります。


従来のDalvikでは、Just-In-Time(JIT)と呼ばれるコンパイラを使用して、汎用的なバイトコードがマシンコードに変換されてアプリが実行されていました。

このJITはAndroid2.2から実装されていて、パパさんが初めて手にしたXperia(SO-01B)は、Androidバージョンが古かったので採用されていませんでした。
JITを体感するために、とある有志の方が配布していたJITを適用できるzipファイルをインストールするしかなかったです。。。

でも、JITのファイルを初めてインストールした時の高速化は驚くほど違いがありましたねぇ。


今回、Android4.4(KitKat)から登場したARTは、そのJITとは違う方式のコンパイラAhed-Of-Time(AOT)を採用していて、アプリをインストールする段階でマシンコードに変換するため、実行速度が向上するそうです。

実際、適用するとJITを初めて体感した時ほどではないですが、かなり実行速度が良くなってます。


ARTを適用するのは簡単で、「設定」→「開発者向けオプション」→「ランタイムを選択」からデフォルトのDelvikからARTを選ぶと、端末が再起動してアプリの最適化が実行されて適用されます。















高速化出来るなら、みんなARTを使えばいいなじゃね?と思いがちですが、Android.comに掲載されているARTについての説明に書いてある通り、ARTは実験的に導入された新しいランタイムです。

開発者やパートナーシップからのフィードバックを得る為に提供しているプレビュー版ですね。

さらに注意書きで、Android自体とサードパーティアプリを破壊する危険性があると書いてあります。


LINEの通話機能で強制終了はARTの影響


上記の通り、ARTには実行速度の向上とバッテリー消費を抑えるメリットがある反面、まだ実験段階なので一部のサードパーティアプリが正常に動作しなくなるというデメリットもあります。


LINEの通話機能もARTの影響によって正常に機能しない為に強制終了してしまう現象が起こったと考えられます。

LINE以外でもパパさんがインストールしているアプリで起動しなかったのは「ヤマダ電機」でした。あと、Google日本語入力も使用している最中に強制終了したりしていましたよ。


たぶん他にも正常に起動しなかったり、一部の機能が使えなかったりするアプリもあるかもしれません。


注意書きにもあったように、サードパーティアプリだけならいいんですが、最悪Android自体が壊れて文鎮化してしまう事もある危険性があるARTを今の段階ではあまりオススメ出来ませんね。。。

安定版は、たぶん次期Androidバージョンかそのまた次のバージョンから採用されると思われます。


ちなみに、ARTはAndroid4.4(KitKat)から利用可能になっていますが、現在Nexus5でしか使えません。
なぜならNexus7には「ランタイムを選択」という項目がないからです。


Nexus7(2013)にはART選択があるみたいですが、Nexus7(2012)にはART選択の項目がありません。

※コメントでご指摘があったので訂正させていただきました。

まぁ、Nexus7(2012)は利用可能になっているカスタムROMはあるんでしょうけど。。。


ざっとですけど、ARTとは何かこれでわかってもらえましたでしょうか?


とりあえず、LINEの通話機能をたまに使うので、強制終了の原因がARTによるモノと分かって良かったです^^;

A8.netリンク

楽天

スポンサーリンク

QooQ