2016-9-7
1.Android plugin is not compatible with Gradle
由上圖可以看出,不同的Android Gradle Plugin版本僅支持對應的Gradle版本.
2.1.0的Gradle Plugin僅支持Gradle 2.10 - 2.13
2.activity的四種啓動模式
1.default: 系統默認啓動模式, 每次啓動activity都創建新的實例
2.singleTop: 此模式下的activity被啓動時, 如果在棧頂則系統將通過onNewIntent把intent傳遞給已有的實例而不創建新的,如果不在棧頂則創建新的實例
3.singleTask:
if( 發現一個 默認的Task 的 affinity == 被啓動的Activity 的 affinity ){
if(此 Activity 的實例已經在這個 Task 中){
這個 Activity 啓動並且清除其頂部的 Acitivity ,通過標識 CLEAR_TOP
} else {
在這個 Task 中新建這個 Activity 實例
}
} else {
新建一個 affinity 屬性值的 Task
新建一個 Activity 的實例並且將其放入這個新創建的Task 之中
}
4.singleInstance:此模式的Activity 必定會在一個新的 Task 之中, 並且這個 Task 之中有且只能有一個 Activity, 即此模式的activity不允許其他activity在它的task中,由此模式的activity啓動其他activity時, 其他的activity會在默認的task中
可以通過adb sehll activity activities(獲取所有正在運行的activity信息)命令對四種模式進行驗證
如果使用沒有task信息的Context(如 service)啓動activity需要添加FLAG_ACTIVITY_NEW_TASK標誌,否則會拋出異常
3.webview顯示字體錯位
由於更改系統字體導致webview顯示錯位, 可以通過設置webview字體大小來解決:
webview.getSettings().setTextSize(WebSettings.TextSize.NORMAL)
或者
webview.getSettings().setTextZoom(100)