Android使ってて急にアンテナが立たなくなった…

使ってるスマホは TORQU G01 って auスマホ。
OSは4.4.x系でそこそこ古い感じだけど、webやメール使うだけなら普通に動くので、中古で買って利用していたり。

1週間ほど前に唐突に通信できなくなって、最初は丁度データ通信制限設定の上限にしていた2GBで通信できなくなったので気にしてなかった。

しかし、実はアンテナを拾わなくなってた

 ということに後で気づいて、週末にそもそもUQ mobileの契約内容どうだっけ?とか、ちゃんと契約状況OKなのか確認したりしつつ、ググってみるとこんな質問とかあるし。。

 WiFiや機内モードをON/OFFしたり、再起動したり、モバイルネットワークの接続設定を再設定したりするうちに気づいたらアンテナが立ってた。。

なにが原因で接続できなくなっていたのか

 これは結局のところ不明だけど、「WiFiや機内モードをON/OFF」というあたりのような気がする。

[android] JNIとは

自分はiPhone持っていないのもありandroidの開発環境を調べた。
その際のめも。

JNIはJava Native Interfaceの略称で、Javaとネイティブコード(C/C++)を連携するための仕組みです。共有ライブラリからの動的読み込みをサポートしています。

>Android開発者のためのJNI入門
http://techbooster.org/android/application/7264/
http://developer.android.com/training/articles/perf-jni.html

>Android NDKを使用してJava言語とC言語で速度比較をする
http://labs.techfirm.co.jp/android/iguchi/1782

andoidはJavaVM上でアプリが実行されるのが基本。開発にはJDKを用いる。
Javaは専用のVM上で動くことを前提にしているので、CPUに依存せず様々なCPUを使った端末が用意できる。というのがウリ。(最近のandroidはARM系CPU一色だが…)

一方JNIは、特定のCPU向けに生成したネイティブコード(.soファイル)をJavaから呼び出せるようにする仕組み。ネイティブコード開発にはNDKが必要。
特定のCPUに依存する代わりに、実行速度を稼ぎやすいのがメリット。

但しJavaの場合は気にしなくて済むいろいろな些末事を自分で処理しないといけない…という面倒さはある。導入時、いろいろ覚えることが多そう。