Android 5.0新的特性對開發者會有什麼影響?

相比較android4.0及以上至android L有何突出改變和優化?作為一名從業者,該如何重構現有的代碼來更好的吸納5.0新的規範特性?以及android5.0到來會給android平台的從業者帶來怎樣的挑戰和提升?對現有的移動終端市場會有怎樣的衝擊?提問如有不恰當之處還請諒解。


如果target到API 21,有一些注意的事項,以下是目前我發現的兩個問題

1. Service must be explitict,從Lollipop開始,service必須顯性聲明,解決方案:http://blog.android-develop.com/2014/10/android-l-api-21-javalangillegalargumen.html

源代碼參考

`sdk/sources/android-21/android/app/ContextImpl.java`

private void validateServiceIntent(Intent service) {
if (service.getComponent() == null service.getPackage() == null) {
if (getApplicationInfo().targetSdkVersion &>= Build.VERSION_CODES.LOLLIPOP) {
IllegalArgumentException ex = new IllegalArgumentException(
"Service Intent must be explicit: " + service);
throw ex;
} else {
Log.w(TAG, "Implicit intents with startService are not safe: " + service
+ " " + Debug.getCallers(2, 3));
}
}
}

2. Material Design 按鈕文字默認大寫,相關鏈接:https://code.google.com/p/android-developer-preview/issues/detail?id=487,奇怪吧,看看源代碼就知道

&