一、从MediaRecorder到StagefrightRecorder的调用关系图: 二、解析相关调用流程: 1、Service Manager管理了多个Service,包括了AudioFlinger,MediaPlayerService。 CameraService,AudioPolicyService,任何一个service需要使用时,都必须向其注册。例如,MediaPlayerservice: 在main_media
前言 上回承诺过大家,一定会出 HTTP 的系列文章,今天终于整理完成了。作为一个 web 开发,HTTP 几乎是天天要打交道的东西,但我发现大部分人对 HTTP 只是浅尝辄止,对更多的细节及原理就了解不深了,在面试的时候感觉非常吃力。这篇文章就是为了帮助大家树立完整的 HTTP 知识体系,并达
一、背景介绍 从实用角度梳理一篇能够帮大家快速扫盲的CMake基础教程,也是对我目前负责项目的一次学习总结。既然选择从项目实用性考虑,下面的讲解内容可能并不一定完整,更多的是符合项目目前使用到的一些特性。 接下来正面回答这个问题,从5个角度来展开对Binder的分析: (1)从性能的
前言 碎碎念:二本渣校,却拿到了字节跳动Offer!我是如何做到的,我把经历写成文章分享给大家,希望对你们能有一些帮助!之前在牛客许愿,后来来了offer就忘记了要发,现在赶紧补上。三次面试是一天内完成的,意向书是面试结束后过了一周拿到的。 我投的大方向是:抖音/抖音火山版/直播。复盘一
前言 上回承诺过大家,一定会出 HTTP 的系列文章,今天终于整理完成了。作为一个 web 开发,HTTP 几乎是天天要打交道的东西,但我发现大部分人对 HTTP 只是浅尝辄止,对更多的细节及原理就了解不深了,在面试的时候感觉非常吃力。这篇文章就是为了帮助大家树立完整的 HTTP 知识体系,并达
开头 最近很多网友反馈:自己从各处弄来的资料,过于杂乱、零散、碎片化,看得时候觉得挺有用的,但过个半天,啥都记不起来了。其实,这就是缺少系统化学习的后果。 为了提高大家的学习效率,帮大家能快速掌握Android开发的各个知识点。为大家整理了一套系统的Android开发者进阶学习笔记。
一、自我介绍 应该算是起点比较高吧!985大学毕业后面一直在国外读研。之前准备面试微软但是可能经验不够,没有通过。经过朋友介绍我准备回国,积累一些开发经验。于是我面试了国内大厂BATJ,还有一些其他比较知名的公司,一共报了11家。我朋友说这叫广撒网多捞鱼! 其他就不说了BATJ都
一、引言 现在已经是十月份的月末了,金九银十,这个找工作和面试的热潮已经渐渐退隐。 潮涨潮退,有的人从里面收获了心仪的offer;有的人走了一趟,一无所获,或者收获寥寥,无甚满意;还有的人在观望,等待下一个良机。 这里分析一波现在的面试行情,带大家了解一下自己所处的位置,另外,分享一下
开头 程序员面试,除了面试技术外,有的公司经常会问应聘者和技术无关的问题,考验求职者的综合能力,并以此作为是否录用的依据,很多时候这类问题往往没有标准答案,就看求应聘者临场的反应能力如何。 张工是一名Android开发人员,近日到某知名互联网公司面试,面谈到最后时,面试官问了张工
Spring 家族中三大消息处理相关框架关系图 一.Spring Messaging Spring Messaging 是 Spring 框架中的一个底层模块,用于提供统一的消息编程模型。消息抽象了一个接口来定义如下: public interface Message<T> { //消息体 T getPayload(); //消息头 Messag
Android系统庞大且错综复杂,今天小编将带领大家初探Android系统整体架构,一窥其全貌。 引言 本文作为Android系统架构的开篇,起到提纲挈领的作用,从系统整体架构角度概要讲解Android系统的核心技术点,带领大家初探Android系统全貌以及内部运作机制。虽然Android系统非常庞大且错
AudioRecord is a audio client for receiving data from an audio input device such as a microphone. 应用层调用AudioRecord的主要APIs,主要有getMinBufferSize()、new AudioRecord()、startRecording()、getRecordingState()、read()、getState()、stop()、 release(),大致调
根Activity启动过程中涉及的进程 会涉及 4 个进程,分别是 Zygote 进程、Launcher 进程、AMS 所在 SystemServer 进程、应用程序进程。 首先 Launcher 进程向 AMS 进程请求创建根 Activity(Binder 通信),AMS 会判断根 Activity 所需的应用程序进程是否存在并启动, 如果不存在就会请
开头 很多人工作了十年,但只是用一年的工作经验做了十年而已。 高级工程师一直是市场所需要的,然而很多初级工程师在进阶高级工程师的过程中一直是一个瓶颈。 移动研发在最近两年可以说越来越趋于稳定,因为越来越多人开始学习Android开发,造成市场参差不齐。正所谓入门容易成长很
安卓开发大军浩浩荡荡,经过近十年的发展,Android技术优化日异月新,如今Android 11.0 已经发布,Android系统性能也已经非常流畅,可以在体验上完全媲美iOS。 但是,到了各大厂商手里,改源码、自定义系统,使得Android原生系统变得鱼龙混杂,然后到了不同层次的开发工程师手里,因为技术水平的
导语 你想做安卓开发,怎么系统学习?你只需要看完这一篇就够了!!为什么只看这一篇就够了?现在CSDN、知乎、掘金、GitHub上各路大佬层出不穷,他们深耕Android开发多年,总结出满满的学习干货。但同时也存在很多非良心的博主,要么活出了人类的本质,复读机一样到处转载; 要么纯粹自嗨型草草
大厂offer是每个技术人的追求? 我觉得每一个程序员的梦想大概就是能够找一份大厂的 Offer,我觉得这很正常,这并不是我们的饭后谈资而是每个技术人的追求。像阿里、腾讯、美团、字节跳动、京东等等的技术氛围与技术规范度还是要明显优于一些创业型公司/小公司,如果说能够在这样的
去年无疑是 Flutter 技术如火如荼发展的一年。 每一个移动开发者都在为 Flutter 带来的“快速开发、富有表现力和灵活的 UI、原生性能”的特色和理念而痴狂,从超级 App 到独立应用,从纯 Flutter 到混合栈,开发者们在不同的场景下乐此不疲的探索和应用着 Flutter 技术,也在面临着
前言 说不焦虑其实是假的,因为无论是现在还是最近几年,很早就有人察觉Android开发的野蛮生长时代已经过去。过去的优势是市场需要,这个技术少有人有,所以在抢占市场的时候,基本上满足需要就已经可以了。但是现在,各式各样的APP层出不穷,APP的质量成为新的竞争标准。这也意味着不管是
前言 九月裸辞从长沙跑到上海,跑了一个月的面试,本月中旬终于拿到了爱奇艺的高级工程师offer。 做Android开发整4年有余,但是这一年才是最充实的,我花一年时间努力,送给了自己一个完美的蜕变! 寒冬裁员潮给我的危机感 我普通本科毕业,在长沙待了四年,其中只换过两家公司。去年这个时
不好意思久等了 这篇文章让小伙伴们久等了。 一年多以来,关于嵌入式开发学习路线、规划、看什么书等问题,被问得没有一百,也有大几十次了。但是无奈自己对这方面了解有限,所以每次都没法交代,搞得实在不好意思。 但是办法总归是有的,正如前篇文章所聊,虽然我自己不从事这些方向,但寻
背景 知乎客户端中有一个自己维护的 Hybrid 框架,在此基础上开发了一些 Hybrid 页面,当需要前端或者客户端开发接口的时候,就涉及到联调的问题。 和一般的 前端 <=> 服务端,或者 客户端 <=> 服务端 类似,前端 <=> 客户端也会出现联调的各种问题,但是往往 Hybrid 开发相关的调试工具
都说Android最近行情不好,很多人都遇到瓶颈或放弃或转行。其实这种情况17年18年也是如此,相对比之下,个人认为今年比去年好多了,Android接下来将会走向复苏的春天。 自从Google开始推出AMP项目已经有一年了。除此之外,最近,Google宣布将有一个单独的移动web搜索索引。这革命性一
前言 上回承诺过大家,一定会出 HTTP 的系列文章,今天终于整理完成了。作为一个 web 开发,HTTP 几乎是天天要打交道的东西,但我发现大部分人对 HTTP 只是浅尝辄止,对更多的细节及原理就了解不深了,在面试的时候感觉非常吃力。这篇文章就是为了帮助大家树立完整的 HTTP 知识体系,并达
一些感悟 穷人的一次失败,为了还债可能一辈子都翻不了身,为还债一辈子送外卖。你将不再会有精力去思考和投机。穷人的失败可能断送了他所有暴富的机遇和时间,让不确定的人生瞬间确定下来,让充满无限可能的人生可能性逐渐缩小。这是赤裸裸的现实。 只有当你有足够多的资本时,允许你