国产午夜精品理论片,国产亚洲精品久久久999蜜臀,国产精品久久久久久久久免费,国产卡一卡二卡3卡4乱码,国产精品午夜无码av天美传媒

Android 開發(fā)生僻卻實用的知識點(二)
發(fā)布時間:2016/1/7 來源:搜數(shù)網絡 瀏覽:32

Tidbit 1

在應用的運行過程中如果 Android 系統(tǒng)決定要更新系統(tǒng)的 WebView,那你的應用可能會發(fā)生崩潰,詳細的問題請戳我。

Tidbit 2

Material Design 中有對 padding 和 margin 的要求,除非你是專業(yè)的交互設計師,懂得 padding 在什么情況下取什么值才是正確,什么時候是錯誤的,而且有注意到在這個知識點中,單詞間的間距是兩個空格,那你可以下載這個 App,并研究其中的細節(jié),了解清楚之后再看看你的 App,看看哪些部分是不符合規(guī)范的。

Tidbit 3

即使你已經在 Adapter 里將 List 中的某一項 Item 移除,getChildLayoutPosition 還是會返回 position 值,這是因為被移除的 View 可能還處于顯示移除動畫的狀態(tài),因此還存在于 RecyclerView 之中。

Tidbit 4

GET_ACCOUNTS 這個運行時權限不能通過權限頁面將它在 API-23 之前的設備中設置為關閉(事實上,如果這是聯(lián)系人組里唯一的權限,你甚至不能在聯(lián)系人組里看到這個權限成為一個可選選項)。由于這個細節(jié),假設 account 存在而導致的崩潰的例子實在太多了。

Tidbit 5

Chrome 改變了它處理深層鏈接的方式?,F(xiàn)在我們不會因為在地址欄中輸入一個 Url 而偶然地打開某個深層鏈接。舉例來說,從前你能夠在 Chrome 的地址欄中輸入 pandora.com,然后會觸發(fā) Pandora 應用的打開,而不是直接打開該網頁。在新的版本中,用戶只會看到 Pandora 的網頁。
intent:

1
2
3
4
5
6
7
8
9
10
intent:
   HOST/URI-path // Optional host
   #Intent;
      package=[string];
      action=[string];
      category=[string];
      component=[string];
      scheme=[string];
   end;
 

例如:

1
2
<a href="intent://scan/#Intent;scheme=zxing;package=com.google.zxing.client.android;end"> Take a QR code </a>
 

專家建議:你可以在鏈接中添加回退 Url 和/或包名,在用戶沒有安裝 App 時就能獲得回退 Url。首先 Chrome 會檢查是否有回退 Url,然后導航用戶到該 Url。如果沒有回退 Url,Chrome 就會尋找包名,使得用戶會打開 Play Store,并進入對應包名的頁面。如果用戶沒有安裝該 App,而且沒有回退 Url,就會出現(xiàn)404錯誤。

Tidbit 6

使用 23.0.0 開發(fā)庫時使用 Loader 的話要注意:由于 Fragment 和 Activity 交互的方式被改變了,當手機方向改變,發(fā)生橫豎屏切換時會發(fā)生一個 Bug,使 loader 被丟失。在 support 23.1.0 中這個 Bug 被修復了,然而,當 Loader 在子 Fragment 中被使用是,方向改變還是會出現(xiàn)這個 Bug。所以現(xiàn)在唯一的解決辦法就是使用 23.0.0 之前的庫。

Tidbit 7

在方法返回一個空集合的時候盡可能使用 Collections.emptyList() 和 Collections.emptySet()。Collection 類會返回一個單例空 list 或 set,這樣我們就不需要總是創(chuàng)建新的空集合,浪費內存了。

返回