溫馨提示:閱讀本文前最好簡(jiǎn)單使用過(guò) Robolectric。 Robolectric 是基于 Junit 的單元測(cè)試框架,實(shí)現(xiàn)了在 JVM 上測(cè)試 Android 代碼的功能...
溫馨提示:閱讀本文前最好簡(jiǎn)單使用過(guò) Robolectric。 Robolectric 是基于 Junit 的單元測(cè)試框架,實(shí)現(xiàn)了在 JVM 上測(cè)試 Android 代碼的功能...
https://www.zhihu.com/question/27467127 韋伯定律:即感覺(jué)的差別閾限隨原來(lái)刺激量的變化而變化,而且表現(xiàn)為一定的規(guī)律性,用公式來(lái)表示,就是...
更新了下文章,增加了第四點(diǎn):繼承和代理的選擇。
kotlin代理模式koltin的特性大多不是空穴來(lái)風(fēng),而是為了解決一些固有問(wèn)題。 kotlin代理模式官方文檔地址:http://kotlinlang.org/docs/reference/d...
代碼優(yōu)化,一個(gè)很重要的課題??赡苡行┤擞X(jué)得沒(méi)用,一些細(xì)小的地方有什么好修改的,改與不改對(duì)于代碼的運(yùn)行效率有什么影響呢?這個(gè)問(wèn)題我是這么考慮的,就像大海里面的鯨魚(yú)一樣,它吃一條...
Android 9.0強(qiáng)制使用https,會(huì)阻塞http請(qǐng)求,如果app使用的第三方sdk有http,將全部被阻塞。出現(xiàn) 或者 就說(shuō)明,你需要去兼容了。最簡(jiǎn)單的兼容方式是在A...
先來(lái)看一個(gè)概念。 函數(shù)式接口:函數(shù)式接口(Functional Interface)就是一個(gè)有且僅有一個(gè)抽象方法,但是可以有多個(gè)非抽象方法的接口。 比如java中的Runna...
先看效果圖 可以看到ViewPager隨內(nèi)容的高度平滑改變。 實(shí)現(xiàn)原理 要實(shí)現(xiàn)ViewPager的高度隨ItemView而變化,那么在滾動(dòng)前需要獲取到itemView的原始高...
Invokedynamic指令是java7中加入的字節(jié)碼指令,理解這條指令可以讓我們熟悉程序的執(zhí)行流程,這篇文章將會(huì)介紹invokedynamic指令解決了什么問(wèn)題以及是如何...
開(kāi)發(fā)過(guò)程中,有時(shí)候需要從網(wǎng)絡(luò)上下載數(shù)據(jù),并刷新界面。 fetchUserInfo是比較耗時(shí)的操作,會(huì)一直阻塞當(dāng)前線程直到數(shù)據(jù)返回。 在android項(xiàng)目中,為了避免阻塞UI線...
作為一名java語(yǔ)言使用者,使用kotlin已經(jīng)一年有余。私認(rèn)為kotlin是java語(yǔ)言的裝飾者:在大結(jié)構(gòu)上類似java語(yǔ)言,同時(shí)增加了許多java未有的特性,比如可空對(duì)象...
協(xié)程(Coroutines)作為kotlin語(yǔ)言的新特性,在寫(xiě)這篇文章時(shí),已經(jīng)發(fā)布了穩(wěn)定版。所以我們可以放心大膽的應(yīng)用到我們的項(xiàng)目中去了。 一。簡(jiǎn)單介紹下協(xié)程 協(xié)程在編程語(yǔ)言...
android開(kāi)發(fā)中,布局文件一般寫(xiě)在xml文件中。 在java代碼中想要獲取渲染出來(lái)的view對(duì)象,一般是在xml中給view設(shè)置一個(gè)id,然后在java代碼中通過(guò)find...