2016-9-7

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 ){//被啓動Activity未指定affinity
        if(此 Activity 的實例已經在這個 Task 中){
            這個 Activity 啓動並且清除其頂部的 Acitivity ,通過標識 CLEAR_TOP 
        } else {
            在這個 Task 中新建這個 Activity 實例
        }
    } else { // 默認Task 的 affinity 屬性值與被啓動的Activity 的 affinity不一樣
        新建一個 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); 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章