Android開發技術周報 Issue#120
新聞
教程
-
React Native for Android 異常處理概覽
準備接入React Native(RN)時,看看前輩們分享的經驗,都說剛接入時崩潰率是一個問題。最近在做RN的Native部分優化,今天就來聊聊在RN中的異常都是什么,該怎么處理。首先,研究RN框架異常的動機在于,我們需要建立起一套針對性的容錯機制,畢竟它還是一個不夠成熟的框架。期望能夠做到的效果就是,對于每一個RN頁面的啟動,我們能夠在進入頁面至退出頁面期間偵測所有發生的RN相關的崩潰,然后根據崩潰來考慮該頁面是否該有降級策略、判斷框架是否真的能夠支持穩定迭代。
-
Android是Linux子集,它的啟動流程和Linux區別不大,將系統內核裝載完成后會創建一個init進程(初始進程)完成后續初始化工作,再啟動其他用于提供系統服務的進程,啟動完這些進程后init進程將變成守護進程保證這些系統服務進程的正常運行。而init.rc就是用Android初始化語言寫的一個在init進程進行初始化時解析的一個腳本。
-
現在主流的hybrid還是H5 + native,H5開發對現在移動終端的重要性不必多提,但H5在native中很明顯的問題大家都看得到,比如打開應用的時候要等很久的頁面loading,loading時用戶看到轉菊花的界面很可能就流失掉,這也是產品經理不想看到的狀況。還有一點是每次打開H5都涉及到網絡交互、文件下載,這些操作會消耗用戶的流量,如果流量消耗大用戶也會不高興。
-
Android Studio 2.3 現已提供下載。此版本的重點是整個 IDE 的質量改進。我們感謝大家迄今為止提供的所有反饋。我們致力于持續投入,讓 Android Studio 成為全球數以百萬計 Android 應用開發者高效而又無縫式的開發平臺。
-
Android自定義Lint實踐2——改進原生Detector
上篇博客《 Android自定義Lint實踐 》中我們介紹了美團App如何使用自定義Lint進行代碼檢查。在使用Lint的過程中,我們陸續又發現原生Lint的一些問題和缺陷,本文將介紹我們在實踐中提出的解決方案。上一篇博客中我們提到了對于HashMap檢測的改進,但當時我們也在文章中提到:1.代碼很簡單,總體就是獲取變量定義的地方,將泛型值傳入原先的檢測邏輯。2.當然這里的增強也是有局限的,比如這個變量是成員變量,向前的推斷就會有問題,這點我們還在持續的優化中。
-
單例模式(Singleton Pattern)一般被認為是最簡單、最易理解的設計模式,也因為它的簡潔易懂,是項目中最常用、最易被識別出來的模式。既然即使是一個初級的程序員,也會使用單例模式了,為什么我們還要在這里特意地討論它,并且作為第一個模式來分析呢?事實上在我看來,單例模式是很有“深度”的一個模式,要用好、用對它并不是一件簡單的事。
-
在Android SDK Tools 16及更高的版本中,Lint工具會自動安裝。通過對Android工程源代碼等進行掃描檢查,可發現潛在的問題,更好的提升代碼質量。Android Lint提供了命令行方式執行,也與IDE(如Eclipse、Android Studio)集成提供了IDE圖形界面,單獨輸出的xml和html結果報告可以提供更豐富的信息。
-
Android與Android Things,父子還是兄弟?
Android Things 主要在 Android 的核心框架中擴展了一些支持物聯的 API。開發者可以利用這些 API 直接與自定義的硬件打交道,Android Things 同時也簡化了單個程序的應用,開機可以自動運行用戶程序。Android Things 不包括標準的 system app 和 content provider。也會在下面的 content provider API 中避免使用 common intent。
-
vysor是一個免root實現電腦控制手機的chrome插件,目前也有幾款類似的通過電腦控制手機的軟件,不過都需要root權限,并且流暢度并不高。vysor沒有多余的功能,流暢度也很高,剛接觸到這款插件時我驚訝于它的流暢度以及免root,就一直對它的實現原理很感興趣。這款插件我用了大半年,最近在升級后我發現它居然開始收費了,終生版需要39.99美元,不過經過簡單的分析后我很輕松的破解了它的pro版,在分析的過程中發現它的原理并不復雜,所以就打算自己也實現一個類似的軟件。
開源庫 & App
-
Scrollable list of items, where current item is centered and can be changed using swipes
-
CookieBar is a lightweight library for showing a brief message at the top or bottom of the screen.
-
This is ColorPickerView by skydoves
-
A customisable decimal and hexadecimal material picker view for Android.
-
Android date/time formatting library supporting formatting placeholders
-
A material designed music player for Android
-
比起BlockCanary,BlockCanaryEx可以知道項目中所有方法的執行時間和次數。在app發生卡頓時,可以將耗時的方法直接展示給開發者。
-
A short and simple library which allows easy replication of several* app onboarding techniques.
-
SimpleRatingBar allows us to create a RatingBar with margin between items
工具
-
一個 AE 動畫的 json 文件網站,可以配合 Airbnb 的 Lottie 動畫
酷工作
-
十號線海淀黃莊(中關村大廈)/20k ~ 30k/五險一金/補充醫療/年底雙薪/免費午餐和晚餐/簡歷發送至: simplecoder.h@gmail.com (記得注明在『Android 開發技術周報』看到的)
-
北京望京/20~40K/15.5 薪/日均超過1.4場次的各種技術分享/各種面授培訓/外部大牛技術分享/簡歷發送至:ouyanghaibing@meituan.com (記得注明在『Android 開發技術周報』看到的)
設計
技術之外
播客
來自:http://www.androidweekly.cn/android-dev-weekly-issue-120/