Android bugreport 概述 bugreport 是Android 系統(tǒng)下的一個(gè)工具,功能類(lèi)似于系統(tǒng)的一個(gè)黑匣子;通過(guò)執(zhí)行相應(yīng)的命令可以獲取到bugreport ...
Android bugreport 概述 bugreport 是Android 系統(tǒng)下的一個(gè)工具,功能類(lèi)似于系統(tǒng)的一個(gè)黑匣子;通過(guò)執(zhí)行相應(yīng)的命令可以獲取到bugreport ...
以Android11 為目標(biāo)版本的應(yīng)用(targetSdkVersion>=30才有影響) 所有應(yīng)用在Android11設(shè)備上適配改動(dòng)(無(wú)論targetSdkVersion是...
一、啟動(dòng)優(yōu)化概念 1.1、為什么要做啟動(dòng)優(yōu)化? APP優(yōu)化是我們進(jìn)階高級(jí)開(kāi)發(fā)工程師的必經(jīng)之路,而APP啟動(dòng)速度的優(yōu)化,也是我們開(kāi)啟APP優(yōu)化的第一步。用戶在使用我們的軟件時(shí),...
線上監(jiān)控的方案 1、BlockCanary 從Choregrapher中可以知道,幀的渲染是通過(guò)消息發(fā)送到主線程執(zhí)行的。所以通過(guò)在計(jì)算msg的處理時(shí)間就可以判定是否發(fā)生卡頓。...
一、卡頓介紹及優(yōu)化工具選擇 1.1. 卡頓問(wèn)題介紹 對(duì)于用戶來(lái)說(shuō)我們的應(yīng)用當(dāng)中的很多性能問(wèn)題比如內(nèi)存占用高、流量消耗快等不容易被發(fā)現(xiàn),但是卡頓卻很容易被直觀的感受到,對(duì)于開(kāi)發(fā)...
很多BAT也不一定能懂的binder機(jī)制! 因?yàn)楦愣産inder需要會(huì)c,linux內(nèi)核知識(shí)。看java根本就看不懂! 我同事從小米跳槽過(guò)來(lái),干安卓framework層10年...
寫(xiě)在前面 為什么只看這一篇就夠了? 現(xiàn)在CSDN、知乎、掘金上各路大佬層出不窮,他們身經(jīng)百戰(zhàn)、血洗殺場(chǎng),總結(jié)出滿滿的求職干貨。但同時(shí)也存在很多非良心的博主,要么活出了人類(lèi)的本...
Android音頻開(kāi)發(fā)之音頻采集 在 Android 系統(tǒng)中,一般使用 AudioRecord 或者 MediaRecord 來(lái)采集音頻。 AudioRecord 是一個(gè)比較...
有沒(méi)有分析過(guò)Activity中ViewModleStore的生命周期呢,大致看了下,當(dāng)Activity的配置發(fā)生變化重建的時(shí)候,啟動(dòng)新Activity的時(shí)候會(huì)把之前的實(shí)例的ViewModleStore對(duì)象傳遞過(guò)來(lái),不知道是不是完全對(duì)..
public ViewModelStore getViewModelStore() {
if (getApplication() == null) {
throw new IllegalStateException("Your activity is not yet attached to the "
+ "Application instance. You can't request ViewModel before onCreate call.");
}
if (mViewModelStore == null) {
NonConfigurationInstances nc =
(NonConfigurationInstances) getLastNonConfigurationInstance();
if (nc != null) {
// Restore the ViewModelStore from NonConfigurationInstances
mViewModelStore = nc.viewModelStore;
}
if (mViewModelStore == null) {
mViewModelStore = new ViewModelStore();
}
}
return mViewModelStore;
}
其中Activity的mLastNonConfigurationInstances會(huì)在ActivityThread中調(diào)用它的attach()方法時(shí)傳遞過(guò)來(lái)的
淺談 ViewModel 的生命周期控制1、從一個(gè) Bug 說(shuō)起 想必有過(guò)一定開(kāi)發(fā)經(jīng)驗(yàn)的同學(xué)對(duì) ViewModel 都不會(huì)陌生,它是 Google 推出的 MVVM 架構(gòu)模式的一部分。這里它的基礎(chǔ)使用我們就不介紹了...
我項(xiàng)目依賴的版本,測(cè)試機(jī)是Android 7.0 的設(shè)備,一切正常 然而,我們采購(gòu)回來(lái)的設(shè)備居然是Android 4.4的(這年頭居然有這么低的版本),一請(qǐng)求http就報(bào)錯(cuò)了...
在這里整理一下最近這兩天整理的https的相關(guān)知識(shí)。 大家都知道要使用https,需要在網(wǎng)站的服務(wù)器上配置https證書(shū)(一般是nginx,或者tomcat),證書(shū)可以使用自...
一.拖拽滑動(dòng) 其中拖住滑動(dòng)是通過(guò)dragTo方法來(lái)實(shí)現(xiàn)的 可以看到最終是通過(guò)ViewCompat.offsetLeftAndRight()和ViewCompat.offset...
上一篇文章介紹了使用 MediaRecorder 實(shí)現(xiàn)錄音功能 Android錄音實(shí)現(xiàn)(MediaRecorder) ,下面我們繼續(xù)看看使用 AudioRecord 實(shí)現(xiàn)錄音...
在Android4.1之后增加了Choreographer機(jī)制,用于同Vsync機(jī)制配合,統(tǒng)一動(dòng)畫(huà)、輸入和繪制時(shí)機(jī)。本文以繪制為例來(lái)簡(jiǎn)單學(xué)習(xí)下Choreographer。 一...
前言 RecyclerView這個(gè)控件幾乎所有的Android開(kāi)發(fā)者都使用過(guò)(甚至不用加幾乎),它是真的很好用,完美取代了ListView和GridView,而Recycle...