溫馨提示:閱讀本文前最好簡單使用過 Robolectric。 Robolectric 是基于 Junit 的單元測試框架履怯,實現(xiàn)了在 JVM 上測試 Android 代碼的功能...
![240](https://upload.jianshu.io/users/upload_avatars/5515535/d747d91e-a656-4885-b177-777dbf1bce9d.jpg?imageMogr2/auto-orient/strip|imageView2/1/w/240/h/240)
溫馨提示:閱讀本文前最好簡單使用過 Robolectric。 Robolectric 是基于 Junit 的單元測試框架履怯,實現(xiàn)了在 JVM 上測試 Android 代碼的功能...
https://www.zhihu.com/question/27467127 韋伯定律:即感覺的差別閾限隨原來刺激量的變化而變化,而且表現(xiàn)為一定的規(guī)律性统捶,用公式來表示榆芦,就是...
更新了下文章,增加了第四點:繼承和代理的選擇喘鸟。
kotlin代理模式koltin的特性大多不是空穴來風匆绣,而是為了解決一些固有問題。 kotlin代理模式官方文檔地址:http://kotlinlang.org/docs/reference/d...
代碼優(yōu)化迷守,一個很重要的課題犬绒⊥耄可能有些人覺得沒用兑凿,一些細小的地方有什么好修改的凯力,改與不改對于代碼的運行效率有什么影響呢?這個問題我是這么考慮的礼华,就像大海里面的鯨魚一樣咐鹤,它吃一條...
Android 9.0強制使用https,會阻塞http請求扮匠,如果app使用的第三方sdk有http捧请,將全部被阻塞。出現(xiàn) 或者 就說明棒搜,你需要去兼容了疹蛉。最簡單的兼容方式是在A...
先來看一個概念益缎。 函數(shù)式接口:函數(shù)式接口(Functional Interface)就是一個有且僅有一個抽象方法谜慌,但是可以有多個非抽象方法的接口。 比如java中的Runna...
先看效果圖 可以看到ViewPager隨內(nèi)容的高度平滑改變莺奔。 實現(xiàn)原理 要實現(xiàn)ViewPager的高度隨ItemView而變化欣范,那么在滾動前需要獲取到itemView的原始高...
Invokedynamic指令是java7中加入的字節(jié)碼指令狠半,理解這條指令可以讓我們熟悉程序的執(zhí)行流程噩死,這篇文章將會介紹invokedynamic指令解決了什么問題以及是如何...
開發(fā)過程中颤难,有時候需要從網(wǎng)絡上下載數(shù)據(jù),并刷新界面已维。 fetchUserInfo是比較耗時的操作行嗤,會一直阻塞當前線程直到數(shù)據(jù)返回。 在android項目中垛耳,為了避免阻塞UI線...
作為一名java語言使用者栅屏,使用kotlin已經(jīng)一年有余。私認為kotlin是java語言的裝飾者:在大結構上類似java語言堂鲜,同時增加了許多java未有的特性栈雳,比如可空對象...
協(xié)程(Coroutines)作為kotlin語言的新特性,在寫這篇文章時缔莲,已經(jīng)發(fā)布了穩(wěn)定版甫恩。所以我們可以放心大膽的應用到我們的項目中去了。 一酌予。簡單介紹下協(xié)程 協(xié)程在編程語言...
android開發(fā)中磺箕,布局文件一般寫在xml文件中。 在java代碼中想要獲取渲染出來的view對象抛虫,一般是在xml中給view設置一個id松靡,然后在java代碼中通過find...