問(wèn)題 使用 OpenGL 開(kāi)發(fā)過(guò)程當(dāng)中可能會(huì)遇到需要理解一些關(guān)鍵錯(cuò)誤日志 log 的意思,比如 我們得結(jié)合源碼分析背后在干一件什么事情 解決方案 了解 EGL 和 OpenG...
在frameworks中并沒(méi)有找到以上的兩個(gè)日志打印代碼?請(qǐng)問(wèn)要怎么查找呢?
Android EGL 錯(cuò)誤信息定位方法問(wèn)題 使用 OpenGL 開(kāi)發(fā)過(guò)程當(dāng)中可能會(huì)遇到需要理解一些關(guān)鍵錯(cuò)誤日志 log 的意思,比如 我們得結(jié)合源碼分析背后在干一件什么事情 解決方案 了解 EGL 和 OpenG...
作者做的性能比較是不準(zhǔn)確的,使用的是默認(rèn)的Dispatchers.Default調(diào)度器,這個(gè)調(diào)度器是使用一個(gè)線程池進(jìn)行分配任務(wù)調(diào)度協(xié)程運(yùn)行的,使用的過(guò)程有線程切換的開(kāi)銷。而作為對(duì)比用了一個(gè)單線程的線程池,單線程沒(méi)有線程切換的開(kāi)銷,基本上等于開(kāi)了個(gè)單線程for循環(huán)處理任務(wù)。這樣對(duì)比本身就是不公平的。kotlin的協(xié)程不能說(shuō)是線程池的封裝,因?yàn)槟憧梢允褂胷unBlocking方法將協(xié)程運(yùn)行在當(dāng)前線程,或者用newSingleThreadContext指定使用單線程的調(diào)度器,或者使用Dispatchers.Main使用主線程,這些途徑能保證在單一線程里進(jìn)行多并發(fā),這就完全沒(méi)有利用線程池了,而這個(gè)單線程的并發(fā)遇到譬如io阻塞的時(shí)候,可以讓出時(shí)間片允許其他協(xié)程繼續(xù)運(yùn)行而不會(huì)阻塞線程,這就避免了多線程并發(fā)的線程開(kāi)銷,下面是主線程多并發(fā)demo:
fun log(msg: String) = println("[${Thread.currentThread().name}] $msg")
fun main() = runBlocking<Unit> {
repeat(5) {
launch {
log("task[$it], time: ${System.currentTimeMillis()}")
delay(1000)
}
}
}
輸出為:
[main @coroutine#2] task[0], time: 1590202484733
[main @coroutine#3] task[1], time: 1590202484739
[main @coroutine#4] task[2], time: 1590202484739
[main @coroutine#5] task[3], time: 1590202484740
[main @coroutine#6] task[4], time: 1590202484740
可以看到協(xié)程都在主線程執(zhí)行,每個(gè)任務(wù)調(diào)用delay并不會(huì)阻塞其他協(xié)程的運(yùn)行
我們真的是禮貌性問(wèn)一問(wèn)而已,沒(méi)問(wèn)題就別問(wèn),網(wǎng)上攻略害死人
面試最后一問(wèn):你有什么問(wèn)題想問(wèn)我嗎?盡管,我們之前分享了這么多關(guān)于面試的主題: 高薪必備的一些Spring Boot高級(jí)面試題 面試必問(wèn):設(shè)計(jì)模式遵循的面向?qū)ο笤O(shè)計(jì)原則! 面試必問(wèn):怎么保證緩存與數(shù)據(jù)庫(kù)的雙寫(xiě)一...
文章來(lái)源自作者的Android進(jìn)階計(jì)劃(https://github.com/SusionSuc/AdvancedAndroid) 在前面學(xué)習(xí)WMRouter和ARouter...
LayoutInflater的獲取 在我們寫(xiě)listview的adapter的getView方法中我們都會(huì)通過(guò)LayoutInflater.from(mContext)獲取L...
一般判斷是否有拍照權(quán)限(Android6.0之前的)的辦法: 1.通過(guò)Camera.open()之后判斷camera==null? 2.有些手機(jī)即使禁掉拍照權(quán)限獲取到的cam...
PowerDesign下載 PowerDesigner相關(guān)信息大?。?09.2M 版本:16.5.0.3982位數(shù):32/64 更新日期:2015-04-09支持系統(tǒng):Win...
這可能是最好的 RxJava 2.x入門(mén)教程系列專欄文章鏈接:這可能是最好的 RxJava 2.x 入門(mén)教程(完結(jié)版)【重磅推出】這可能是最好的 RxJava 2.x 入門(mén)教...
這可能是最好的 RxJava 2.x 入門(mén)教程系列專欄文章鏈接:這可能是最好的 RxJava 2.x 入門(mén)教程(完結(jié)版)[http://www.itdecent.cn/p/...
Outline [TOC] 前言 好久不見(jiàn)朋友們,最近一段時(shí)間在忙工作上的事情,沒(méi)來(lái)得及寫(xiě)文章,這兩天正好有點(diǎn)時(shí)間,趕緊寫(xiě)下了這篇教程,免得大家說(shuō)我太監(jiān)了。 正題 先來(lái)回顧一...
Outline [TOC] 前言 上個(gè)月RxJava2正式版發(fā)布了,但目前國(guó)內(nèi)的資料還比較少,以前使用過(guò)RxJava1只需要看看更新文檔就知道怎么使用了,但還有一些以前沒(méi)用過(guò)...
作者:李旺成 時(shí)間:2016年4月3日 “Android MVP 詳解(下)”已經(jīng)發(fā)布,歡迎大家提建議。 MVP 在 Android 上的使用其實(shí)已經(jīng)有挺長(zhǎng)一段時(shí)間了,長(zhǎng)到似...
1, 問(wèn)題描述 很多同學(xué)可能都遇到過(guò)這個(gè)問(wèn)題:明明在布局文件中設(shè)置了View的padding, 然后程序中動(dòng)態(tài)設(shè)置了背景, 運(yùn)行后發(fā)現(xiàn)padding不對(duì). 如下代碼: 明明加...
介紹 ViewStub 是一個(gè)輕量級(jí)的View,沒(méi)有尺寸,不繪制任何東西,因此繪制或者移除時(shí)更省時(shí)。(ViewStub不可見(jiàn),大小為0) 優(yōu)點(diǎn) 實(shí)現(xiàn)View的延遲加載,避免資...