2015/07/23

海外で Xperia Z3 の Lollipop アップデートが始まる

Phandroid によると、グローバル向けの Xperia Z2 と Z3 で、Android 5.1 Lollipop の配信が始まったようです。

Sony Xperia Z2 and Z3 family get Android 5.1 Lollipop today

カスタマイズ機能やカメラ性能が向上している他、ビジネス向け SNS である LinkedIn の連携機能が追加されているようです。

これらの端末は日本国内でもアップデートが予定されていますが、海外よりも数週間から数ヶ月遅れて配信されるものと思われます。

2015/07/17

Xperia Z4 をモニターしてみた感想。Z2 以前のユーザーは積極的に乗り換えを!

※このブログは Xperia アンバサダープログラムに参加しています。

6月12日に Xperia Z4 SO-03G をお借りしてから約1ヶ月間、メイン端末として使用してきました。通話と LINE 以外のほとんどを Z4 でやっていました。

昨日の記事をポストしたあとモニター機は返却してしまったのでもう手元にはありません。1ヶ月間を振り返りながら感想を書いてみたいと思います。これから Z4 の購入を検討している方にも参考になりますように。


デザインが良くなった。特に本体側面がスッキリ

元々 Xperia のデザインは良かったと思いますが、Z4 は更に良くなっています。中でも、
  • microUSB 端子が防水仕様になり蓋がなくなりました。場所も本体下部に移動しています。
  • nanoSIM と microSD カードのトレーが一体化しました。蓋も小さくなりました。
  • マグネット充電端子がなくなりました。
  • ストラップホールが本体下部に移動しました。

これらのデザイン上の変更により、本体側面がスッキリしました。右側はスイッチ類だけ、左側は何もありません。端子やスロット類の変更は外観だけでなく内部構造にも影響があったと思いますが、デザインチームの英断は素晴らしかったと思います。

一点だけ、マグネット充電端子が無くなったことには不満を持っている方もいらっしゃるかもしれません。確かにケーブルをささなくても置くだけで充電できたら便利ですね。新しいクレードルは microUSB 端子が生えているタイプになり、以前のように置くだけで簡単に充電できるタイプからは比べれば少し不便かもしれません。

他社のスマートフォンでも採用されている非接触充電の Qi に対応していればマグネット充電端子はもう不要になると思います。使い勝手もマグネットタイプより格段に良くなると思います。ただ、非接触充電はコイルを内蔵する分本体が厚くなったり、充電中は熱を持ったりします。デザインとのバランスが更に難しくなりそうですが、今後のフラッグシップモデルでは対応してくるのではないかと期待しています。


Android 5.0 Lollipop にスムーズに移行

Xperia Z4 は最初から Android 5.0 Lollipop を搭載しています。国内で販売されている Xperia シリーズにも順次アップデートが適用される予定ですが、現時点では Z4 と A4 が一番早い対応になります。


Lollipop はマテリアルデザインという新しい手法を取り入れて、デザインをシンプルに見せつつ、ユーザーには直感的に操作しやすい UX を提供します。質感に乏しいフラットデザインに比べ、透過処理、陰影、重ね合わせを多用して、パーツごとの奥行きや前後関係を強調しているのが特徴です。

また、Dalvik に代わり ART という新しい Java ランタイムが使用されるようになり、アプリケーションをより高速に動作させることができます。64ビットカーネルに対応しているのも新しい点です。

Android 4.4 KitKat がそれ以前の Jelly Bean からそれほど変わっていなかった事を考えると、Lollipop での変更内容は多岐にわたります。しかし、これまでの Xperia のデザインや使用感からそれほど違和感なく Lollipop に対応してきたのには驚かされました。標準アプリも、Z4 の発売前後に次々とマテリアルデザインに対応してきました。

ソニーモバイルは以前から Xperia 向けに AOSP 版の Android 5.0 を提供したりして Lollipop への対応を進めてきました。ここに来てその成果が出たのではないでしょうか。素晴らしい!


避けて通れない発熱問題とパフォーマンス低下

以前のエントリでも触れましたが、Xperia Z4 は最新の Snapdragon 810 を搭載しているにもかかわらず、ベンチマークスコアがあまり奮いません。そして高い負荷をかけ続けていると、本体背面の一部がかなり高温になります。この時、恐らく冷却のためだと思いますが、SoC の動作周波数が下がり、全体的に動作が遅くなってしまいます。普通のスクロールがカクカクしてタッチ操作についてこなかったり、アプリの切り替えに非常に時間がかかってしまうことがありました。


Z4 の設定を色々弄っていて気がついたのですが、開発者オプションの GPU レンダリング(2D描画に GPU を常に使用する)を有効にすると、このカクカクが酷くなるのです。ちょっと下の表を見てみてください。

AnTuTu ベンチマークスコアXperia Z3Xperia Z4 (32bit)Xperia Z4 (64bit)
マルチタスク665747433983
Dalvik224223313791
整数演算313944533452
浮動小数点演算332726252654
シングルスレッド整数演算276716102394
シングルスレッド浮動小数点演算252914622201
2D グラフィックス164816691668
3D グラフィックス134021570615971
総合419774215345619

コア単体で見ると、Krait 400 2.5GHz -> Cortex-A57 2.0GHz と動作周波数が下がっているので、シングルスレッドの CPU スコアが下がっているのはある意味仕方がないと思います。その分 Cortex-A53 1.5GHz で補って欲しいのですが、残念ながらマルチタスクのスコアも下がっています。

Dalvik スコアは上がっていますね。恐らく Dalvik そのものを測定しているわけではなく、Java ランタイムの性能を測定していると思われますので、これは単純に ART の性能向上分と受け取っていいと思います。

GPU の項目も見てみてください。2D グラフィックスのスコアがほとんど同じです。Snapdragon 810 は GPU として Adreno 430 500MHz を内蔵しています。一方 Z3 に搭載されていた Snapdragon 801 は Adreno 330 578MHz です。Adreno 430 と 330 に着目してパフォーマンス測定をしている記事を見たことは無いのですが、GPU 単体の性能の向上分を動作周波数の低下で相殺してしまっているように見えます。Lollipop は KitKat に比べると透過や重ね合わせの処理が格段に増えているはずですが、GPU の性能がもっと上がってこないとちょっと厳しいかもしれません。

発熱問題は SoC 単体だけではなく、システム全体の熱設計や、バックグラウンドサービスなども含めた全体像で考察する必要があります。Photo Analyzer Service を停止すると改善するというブログ記事もありました。

Xperia Z4のバッテリー問題と発熱問題を斬る、結果熱は下がりバッテリーは明らかに長持ち、そしてもっさり解消という結果に (鈴の音情報局blog)

私個人はソフトウェアにおける付け焼き刃的な対応では、発熱問題とパフォーマンス低下を同時に解決するのは難しいのではないかと思っているのですが、今後、ソフトウェアアップデートで改善できる部分があれば、ぜひ積極的に取り組んで欲しいと思います。


Xperia Z2 以前のユーザーは積極的に乗り換えを!

Z3 と比較するとどうしてもパフォーマンスの低下が気になってしまいますが、Z2 以前のユーザーには文句なく乗り換えをお勧めします。ちなみに Xperia Z2 の AnTuTu ベンチマークスコアは約 34,000、Xperia A のスコアは約 20,000 でした。

オムニバランスデザインは Z3 で完成したと思っていましたが、Z4 で更に改善されて良くなりました。最新の Android 5.0 Lollipop もいち早く体験できます。

Z4 はキャリアアグリゲーションや Wi-Fi MIMO にも対応しており、通信速度の面でも大分高速化されています。Z2 以前のユーザーはその速度差を十分に実感できると思います。


最後に

楽しいタッチ&トライミーティングを企画・運営してくださったアジャイルメディア・ネットワーク様、Xperia Z4 のモニター機をお貸しいただきました、ソニーモバイルコミュニケーションズ様、NTT ドコモ様に感謝いたします。本当にありがとうございました。

そして最後に。 タッチ&トライミーティングで食べた「もうやんカレー」美味しかったです!今度 Xperia 持ってお店にうかがいたいと思います!





最後までお読みいただきありがとうございました。




2015/07/14

VMware のゲスト OS でフロッピーディスクドライブを削除する方法

VMware のゲスト OS で Windows 8.1 を使っているのですが、使いもしないのにフロッピーディスクドライブがあります。





仮想マシンの設定にはフロッピーディスクはありませんでした。なのでここから削除することはできません。


どうやら BIOS から無効にする必要があるようです。下記の VMware KB では仮想マシンの設定から BIOS に入る方法が紹介されていますが、最新バージョンの VMware Player ではその設定はないようなので手動で BIOS に入る必要があります。


Windows 仮想マシンでフロッピー デバイスを削除できない (2097189)

ゲスト OS を再起動すると一瞬だけ以下の様な画面になるので、F2 キーを連打します。



Main タブに Legacy Diskette A: というのがあるので、Disabled に変更します。


Exit タブの Exit Saving Changes で再起動します。


ゲスト OS が起動すると、フロッピーディスクドライブが消えているのが分かります。



ゲスト OS の種類が Windows 8 とかだったらフロッピーはもう要らないのでは?と思ってしまいますが。

2015/07/13

Android SDK でモバイルデータ通信を無効にする方法

技術系エントリです。Android SDK を使ってモバイルデータ通信を無効にするには、 ConnectivityManager を使用します。


    ConnectivityManager manager = (ConnectivityManager)
        context.getSystemService(CONNECTIVITY_SERVICE);

setMobileDataEnabled は private method なので、リフレクションを使って呼び出します。


    Method method = manager.getClass().getMethod("setMobileDataEnabled", new Class[] { Boolean.TYPE });
    method.setAccessible(true);
    method.invoke(manager, false);

モバイルデータ通信を無効になったかどうかは getMobileDataEnabled を使って調べますがこちらも private なのでリフレクションで。setAccessible は不要です。


    Method method = manager.getClass().getMethod("getMobileDataEnabled");
    boolean mobile = (Boolean) method.invoke(manager);

Manifest にパーミッションが必要なのでお忘れなく。


    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
    <uses-permission android:name="android.permission.CHANGE_NETWORK_STATE" />

2015/07/09

SmartWatch 3 でいつも NAVI を試してみた

※このブログは Xperia アンバサダープログラムに参加しています。

先日、株式市場ゼンリンデータコムより 「いつもNAVI for Android Wear β」 がリリースされました。実は 6月12日に開催された Xperia Z4 タッチ&トライミーティングでも同アプリが紹介されたものの、7月2日の正式リリースまでは公開禁止となっていました。


さっそくお借りしている SmartWatch 3 にもインストールして試してみます。いつも NAVI を起動するには SmartWatch 3 の画面をタップ。スクロールして「いつも NAVI」を選ぶだけです。


近くにあるコンビニ、カフェ、駅、ファーストフード、ファミレスなどから行き先を選ぶことができます。該当しない場合はフリーワードを選ぶと、音声入力で行き先を入力することができます。



 近くのコンビニまで行ってみましょうか。現在位置から近い順に並んでいるので本当に簡単です。ATM やトイレなどのマークが表示されているのも嬉しい機能です。


行き先を選ぶと、歩く方向と距離を示してくれます。GPS 等の位置情報や地磁気センサーをうまく使っているのだと思います。矢印の向きは結構正確でした。


他にも、レーダー探知機のようなレーダーナビと、


交差点ごと方向を示してくれるターンバイターンナビがあります。


ちょっと電池消費が気になりますが、ナビを手元で確認できるのはとても便利でした。ベータ版とはいえかなり完成度も高いです。これが無料アプリとはすごいですね。

SmartWatch 3 を返却しても Moto 360 に入れて使っていきたいと思います。

2015/07/08

SmartWatch 3 で新しいウォッチフェイスを試してみよう

※このブログは Xperia アンバサダープログラムに参加しています。

Xperia Z4 返却まであと2日。一緒にお借りしている SmartWatch 3 も返却まであと僅かです。


約1ヶ月のモニター期間で SmartWatch 3 も使い倒してみました。元々 Moto 360 と Apple Watch を交互に使っていたのですが、モニター期間中は SmartWatch 3 をメインに使うことにしました。



お借りした SmartWatch 3 はシリコン製バンドのもので、色はライムでした。発売当初とはバンドの形状が変わっていますね。真ん中が細く切り抜かれていて、全体的に軽くなっています。この時期どうしても汗が気になるのでこれはいいと思います。


SmartWatch 3 は液晶がきれいですね。発色がよく、解像度も高いので視認性が高いです。ちょっと厚みが気になりますが、他社のスマートウォッチも似たようなものです。


Smart Watch 3 の(というか Android Wear の)一番の魅力は、豊富なアプリとウォッチフェイスです。最近になってウォッチフェイスの種類が一段と増えてきたので、ご紹介してみたいと思います。

最初は SONY 純正のウォッチフェイス Sports です。シンプルですが必要な機能を抑えてあります。文字盤に目盛りが切ってありますが針はなくデジタル表記です。時刻に合わせて目盛り部分の色が変わるようになっています。


次は Google 純正の Google Fit です。Google Fit のアクティブ時間と連動して1日の運動量が分かるようになっています。


どんどん行きましょう。最近になってサードパーティ製のウォッチフェイスが充実してきました。これは Hello Kitty Watch Face です。


これは Moomins Watch Face です。


一番のお気に入りは Terminator Genisys Watch Face です。


Angry Birds もありますよ。


Apple Watch は Apple 純正のウォッチフェイスしか選べず、しかも種類がとても少ないです。皆さんも SmartWatch 3 ぴったりのウォッチフェイスを探してみてください。


実は LiveView とかも持っている。うわっ、私のスマートウォッチ多過ぎ…?

Android SDK で Wi-Fi テザリングを有効にする方法

技術系エントリです。Android SDK を使って Wi-Fi テザリングを有効にするには、 WifiManager を使用します。


    WifiManager manager = (WifiManager) context.getSystemService(WIFI_SERVICE);

setWifiApEnabled は private method なので、リフレクションを使って呼び出します。


    Method method = manager.getClass().getMethod("setWifiApEnabled", WifiConfiguration.class, boolean.class);
    method.setAccessible(true);
    method.invoke(manager, null, true);

Wi-Fi テザリングが有効になったかどうかは isWifiApEnabled を使って調べますがこちらも private なのでリフレクションで。setAccessible は不要かもしれません。


    Method method = manager.getClass().getMethod("isWifiApEnabled");
    method.setAccessible(true);
    boolean enabled = (Boolean) method.invoke(manager);

Manifest にパーミッションが必要なのでお忘れなく。


    <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
    <uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />