パシフィコ横浜で12/1〜3まで開催されていたEmbedded Technology 2010へ行ってきました。
1〜2日は会社の出展ブースにて説明員もやっていました。
今年の展示はいろいろな意味であつかったです。
Android関連の展示も去年よりも増えている印象でした。
詳しくは続きから
Embedded Technology 2010は世界最大級の専門技術展&カンファレンスだそうです。
当日は会社のブースにてAndroidからラジコンを操縦できるデモをひっそりと行っていました。
説明員はほどほどでカンファレンスや展示を見て回りました。
初日にAndroid関連のカンファレンスがあり、事前予約をせず、当日に飛び込みで参加しました。
はじめの5分くらいが聞けませんでしたが、そのときのメモ
推定+報告
16万台出荷/日
50種類以上の端末
なんちゃって込みで100種類以上
30のマニファクチャが出荷
世界で7800万台出荷
50キャリアがサポート
国内の組み込みソフト産業の現状
日本の輸出産業の56.7%の製品に組み込みソフトウェアが含まれている
世界市場が大きくなるほど日本製品のシェアが下がる傾向がある
SHARPが日本一のメーカー
→世界では10位くらい?
ノキアが世界一
車は世界シェアが伸びるにつれて日本製品のシェアが伸びている
→政府が関与しなかった産業は伸びた?
標準化+差別化
標準OSを使ってどこで差別化するか
14ヶ月の開発期間で日本の携帯電話は作ってる
Androidのモジュールを必要なものだけを引っこ抜いてLight Weight Androidとして作ってる
→必要なものだけをあとでリンク
→部品の低コスト化、起動の高速化、
→Eclipse環境で必要なモジュールが指定できる
ドリアン(EM)の説明
2.2ベース
Linaro
MIDに向けたCTS ラティス
3月末にパプリックリリース予定
■Linaro
ARM 小林さん
会社?団体
今年1月に発表
linuxを使う上での問題点
1、linuxが完成品でない
2、ディストリのフラグメンテーション
バージョンが統一されていない
3、ARM特有 Socにおけるフラグメンテーション
カーネル、パワーマネージメント、グラフィック、マルチメディア系
4、ARMに十分に最適化されていない
Intel向け
なぜLinaro?
オープンソースベースのデバイスが世界中にあふれる
先ほどの問題を解決する
ビジョン
SoCメーカーはプラットフォームを含めて展開したい
それぞれのプラットフォームへの対応を簡単に速くできるようにする
Linaro
非営利団体(ARMとかがスポンサー)
Linaroの日本支部はない
80人のエンジニア
→2011年に100人を目指す
オープンな組織
世界中のプロジェクトとコラボレーション
方針は参加企業やオープンソースコミュニティとで決めていく
ARMパートナーシップ
ストラトジー
生態系を構成する
シリコンパートナー、アップストリーム(コミュニティ)、ダウンストリーム(デストリ)
最適化をする
エンジニアリング構成
アラインド
→カーネルコンソリでーション
V7への最適化
→Toolchain
GCCの最適化
電源管理
プラットフォーム
チップへ落とす
ランディング
開発サイクル
6ヶ月リリースサイクル
プラン、実行、リリース、メンテナンス
メンテナンスも6ヶ月
何をしている?
複数のエンジニアが働く
多くの人が必要な事に時間をつかう
差別化の部分には活動をしない
カーネル、一部の重要なミドルウェア
A8,A9,A15をターゲットにする
www.linaro.org
■組み込みソフト 効率的
@mhidaka
tech boosterの中の人
pageview 100,000/month
増加率 50%/月
ユニークユーザ 15,000/month
アプリケーションの目的
製品の価値向上
サービスとかはそのための手段
機能の向上、パフォーマンス
品位を向上させることで製品の価値があがる
アプリ管理ソフト
ユーザーが求める物を出す
→一部不具合があっても出す?
組み込みアプリケーションの品位
リソースが限られる
→メモリ、CPU、消費電力、ネットワーク
効率的に使う事
技術の無駄使いをしない
標準化されたミドルウェア
WebKit OpenGL OpenCore
Java Heap
DalvikVMで管理(最大24MB)
Native Heap
NDKなどネイティブ呼び出しはOSで管理
DDMS -> Sysinfoでメモリ使用量がみれる
概算はわかるが、正確な値が見えない
System Process Zygote(ザイゴート)
ザイゴートはアプリケーションで共有
各アプリにヒープは割り当てられるが、ザイゴートにもある
DDMSで表示しているのは共有メモリを利用プロセス全員で割っている
cat /proc?
OutOfMemoryKiller
利用可能メモリが枯渇したとき
Shread Direty, Provate Dirty カーネル利用分で埋まる
これがでたら致命的
LowMemoryKiller
利用可能メモリが減ったとき
優先順位でキルしていく
DDMSでヒープを確認する
常に増加していればメモリリーク
Allocation Tracker
メモリアロケーションを追跡する事ができる
確保のされ方や使われ方がみれる
メモリリークは計測しないとわからない
メモリはリークするもの!
メモリ確保の繰り返しが頻繁なら効率化のポイントになる
データを保存する方法
preference
シリアライズ
ファイル
SQLite
サーバーサイド
処理のオーバーヘッド
GDD2010 ティムブレイ 高性能なAndroidアプリを作るには
アプリケーション処理
1アプリ1スレッド
→ごまかしましたw
非同期処理
AsyncTask
スレッドの再利用はできない
処理の進捗把握が可能
IntentService
サービスとして動作
スレッドを再利用できる
パフォーマンス解析
hierarchyView
GUIコンポーネント構成解析
フレームワークのソースから、列挙体や定数を引っ張ってくる
■ブリリアントさん
@yoshi_rr
W-SIMをBeagleBoardにつなぐ事ができそうだ
ビーグルボード17枚
焦げたらカレーのにおいw
オライリー Android Hacks
NFC(FeliCa)を利用して病院
Androidで植物工場をやっている
AndroidでLEDの制御をしている
LEDの色で成長がかわる
クラウドとの連携をしている
→app engineかEC2でLEDの制御情報をあげている
LEDの制御はテレビの裏側のLED制御レベルが必要
E-11
FeliCaを追加する場合
ハードウェアからアプリケーションまで作る必要がある
→シンビアン等と同じ
Androidだから有利だという訳ではない
GUIの部分が少しコストが安くなるかな?
Androidはフレームワークに存在しない箇所を追加する場合はSymbianやBrewと同じ
端末のシステムバージョンアップ
Symbianは一部
Androidは全体
→どこがバージョンアップされるのかわからないからやり直し量が多い
範囲が広く、ペースも速い。メーカ、CPともに想定外の変更がある
アプリのAPIは標準を守ろうとする
バージョンアップしないと端末の魅力がなくなると思ってしまう
Googleはお金をもらってないからしがらみなく自由にバージョンアップしてくる
バージョンアップすると動作確認が必要になってくる
特許訴訟のリスクがある
例)マルチタッチ、ピンチズーム
→訴訟対象は端末メーカーにどうぞ
Android独自の特徴としてメーカーに対しての特許訴訟を訴えられる可能性が高い
結論
動かすだけなら安い
品質の確保と維持にはお金がかかる
→他のプラットフォームでも同じ
結局はガラパゴスに戻ってくる
どのような変更が安いのか?どうすればソース変更に振り回されにくくなるのかが今後のノウハウになる
→標準化とか?
Googleの戦略に振り回されないようにする必要がある
0 件のコメント:
コメントを投稿