大家可能都用過Butterknife,今天就從0到1寫一個Butterknife,首先通過反射的方式實現(xiàn),接著再改為注解處理器實現(xiàn),通過這個例子...
整理了一份NDK學習筆記,分享給需要的朋友: https://github.com/jdqm/ndk[https://github.com/jd...
有一段時間沒寫文章了熔酷,今天分享一個最近遇到的坑。先說結(jié)論豺裆,賬號問題拒秘,不是代碼問題。 最近在做海外版App的時候有個需求是接入Google支付臭猜,接...
單元測試是應用程序測試策略中的基本測試躺酒,通過對代碼進行單元測試,可以輕松地驗證單個單元的邏輯是否正確蔑歌,在每次構(gòu)建之后運行單元測試羹应,可以幫助您快速...
Gradle是目前Android主流的構(gòu)建工具,不管你是通過命令行還是通過Android Studio來build次屠,最終都是通過Gradle來實...
1.線程安全 如果一個對象能安全地被多個線程同時使用园匹,那么它就是線程安全的。 當多個線程訪問同一個對象時劫灶,如果不需要考慮這些線程在運行時環(huán)境下的...
線程對變量的修改都是在工作內(nèi)存中進行的裸违,那工作內(nèi)存與主存之間的交互是如何進行的? 1. 8個原子操作 lock(鎖定): 作用于主內(nèi)存變量本昏,它把...
1. 類加載的七個階段 1.1加載 通過一個類的全限定名來獲取定義此類的二進制字節(jié)流供汛; 將這個字節(jié)流所代表的靜態(tài)存儲結(jié)構(gòu)轉(zhuǎn)化為方法區(qū)的運行時數(shù)據(jù)...
一、垃圾收集器 1.如何確定對象已死 1.1.引用計數(shù)法-Reference Counting 給對象添加一個引用計數(shù)器涌穆,當有新的地方引用它時怔昨,...