編輯:關於Android編程
今年的 I/O 2016 Google 放出了 Android Studio 2.2 的預覽版,透露改進了多項功能,只不過為了保證公司項目不受影響,我一般都不安裝預覽版的,因為預覽版意味著不穩定,可能遇到各種意想不到的坑,昨天,Google 終於發布了 Android Studio 2.2 的正式版,於是趕緊第一時間體驗了下,按照 Google 的說法本次更新包含了三個方面:speed, smarts, and Android platform support,言外之意就是更快、更智能,而且增加了很多有用的功能,我們來一個個看下。
本次更新帶來了全新的布局編輯器,我們以後調 UI 將更方便。打開一個 XML
文件,默認的 Design 模式如下圖所示,主要包含 Palette、Component Tree、Toolbar、Design Editor、Properties 五部分,直接可視化的操作使布局更加方便易操作。
當然對於習慣寫 XML 代碼的同學來說可以點擊左下角的 Text 切換到代碼格式,但是右邊依然可以實時預覽。Text 模式下的截圖如下:
這裡有個小技巧,可以操作快捷鍵 Control+Shift+Right/Left 來進行左右切換。
然後我們可以通過 Toolbar 那一欄來配置我們預覽的主題外觀
vczE48PHtcTJ6LzGyqaw78Tjw8e19yBVSSDBy6GjPC9wPg0KPGgyIGlkPQ=="constraint-layout">Constraint Layout
Constraint Layout 翻譯過來我把它叫約束布局,它也是今年 Google 全新推出的一種布局,它更強大,簡單來說,用 Constraint Layout 可以實現之前需要各種嵌套才能實現的效果,我們知道過多的布局嵌套對性能影響是很大的,因為 Constraint Layout 更強大,所以屬性也就特別多,不過 Google 完全提供了一種可視化的操作,一張動圖你們感受下:
關於 Constraint Layout 的詳細用法介紹這裡就不多說了,Google 官方有個教程,想學習的可以見這裡:
Using ConstraintLayout to design your views
友情提示,上面鏈接需要科學上網,英文閱讀有困難的不妨看下這篇博客,我覺得寫的還算不錯:
Android ConstraintLayout詳解
以上 Google 對 UI 布局的改進可以看出,Google 的想法是想讓布局更智能更可視化,對於一些剛接觸 Android 的同學無意大大降低了門檻,只不過對於一些老一輩的程序員,比如我,還是習慣直接寫代碼調 UI 來的直接。
評:這個布局很強大,但是寶寶不喜歡拖來拖去,感覺設計師可以開始學 Android 了。
不知道大家知不知道 GitHub 上 Google 有個叫 Google Samples 的組織,這裡羅列了 Google 的上百個關於一些代碼的示例,而這其中大部分都是 Android 相關的,比如 NavigationDrawer 不會用了,google 有個 android-NavigationDrawer 的示例。而這次 Google 直接把他關聯到 Android Stduio 了,你可以在 Android Studio 選中一個類直接右鍵點擊 Find Sample Code ,神奇的事情發生了:
上圖可以看到以選中 PackageManager 為例,下面直接出現了一些 Google Sample 相關的代碼,方便你快速查找該用法,而且還有個鏈接直接指向到 Android Developer 官網該類的詳細介紹,簡直不要太方便,我喜歡這功能!
評:這功能很實用。
Instant Run 的推出確實很不錯,但是媽蛋第一次編譯也太慢了吧,就是因為編譯太慢我一般都是把該功能禁用的。我們先來看下 Google 官方的更新說明:
In this release, we have made many stability and reliability improvements to Instant Run. If you have previously disabled Instant Run, we encourage you to re-enable it and let us know if you come across further issues.
臥槽,看完我笑死了,原來 Google 早知道我們會把 Instant Run 功能禁用啊,按照 Google 的說法這次更新做了改進,更穩定,更快了。鼓勵我們把 Instant Run 功能打開,好吧,我嘗試了一把,確實速度上比之前快不少,大家可以重新打開體驗了。打開方法見下圖:
評:這次我終於把 Instant Run 功能打開了。
其實剛升級 AS 就強烈提示我升級 Gradle 到 2.14 版本,只需要把 Android Gradle plugin 的版本升級到 2.2.0 就好了。
classpath 'com.android.tools.build:gradle:2.2.0'
為了加快 Gradle 的編譯速度,Google 新增了一個編譯緩存的功能,不過目前還是實驗性的,具體用法就是在你的 gradle.properties 文件裡加上這麼一行代碼:
android.enableBuildCache=true
總體來說升級了 Gradle,加上這麼一句代碼,確實感覺編譯快了些,大家可以自行感受下。
對了,每次編譯生成的緩存在 ~/users/.android/build-cache 目錄下,如果緩存過多可以手動刪除該目錄進行清除。
評:編譯確實快了,不知道是不是錯覺。
APK Analyzer
Google 推出了一個 APK
分析器,現在可以很方便的使用 Android Studio 進行 APK 分析。具體用法點擊 Build -> Analyze APK 然後選擇你要分析的 APK 文件就可以了。
可以方便的查看全部文件和大小
可以直接查看 AndroidManifest.xml 文件
可以直接查看資源文件
查看圖片
查看 xml 資源文件
可以直接查看 dex 文件
還可以對兩個 apk 進行比較
評:這個功能堪稱神器啊,以後人人都會逆向 APK 了。
Virtual Sensors in the Android Emulator
Google 這次同樣改進了模擬器,這次讓模擬器支持虛擬傳感器,你們感受下。
評:對於我這種從不用模擬器的人沒啥用。
Espresso Test Recorder (Beta)
Google 為測試新增了一個功能,就是我們可以對操作進行錄像,然後根據我們的操作生成一些測試腳本,而且配合 Firebase 將更方便。
評:理論上來說此功能很不錯,可以解放了測試人員的雙手,只不過該功能還是測試,應該很不穩定,而且國內行情結合 Firebase 很困難,對開發意義不大,可以持續關注。
總結
除以上之外,此次更新還包括對 Java 8 的支持,Jack 編譯器的改進,可以調試 GPU,改進了對 C++ 的支持等,總體來說此次更新推出了不少提升 Android 開發效率的工具,性能上也做了優化,值得大家更新!
Android Studio原生支持使用Gradle來構建項目,使用動態語言Groovy定義項目構建的過程,避免了build.xml文件繁瑣的定義。然而使用的時候,卻有著
總結:同一task內的activity可以是來自不同進程的activity棧內的activity不會重新排序,只能push或者popstandard模式允許多
講到http就必需要了解URI和URL URI (uniform resource identifier)統一資源標志符; URL(uniform resource lo
本人所有文章首先發布於個人博客,歡迎關注,地址:http://blog.isming.me 昨天正式發布了android 5,同時android developer