
Android
文章平均质量分 82
啾太郎
一个正在从android转framework的菜鸡
展开
-
【NDK】Java和Native相互调用的“线程切换”
attach/detachThread会导致JVM线程切换,但操作系统级别的线程并没有原创 2021-12-26 22:38:27 · 3379 阅读 · 1 评论 -
【Bug】记录一次因class前向引用导致的运行时的高频偶现崩溃
项目场景:Windows提供动态链接库的小伙伴应组长要求,整合了对外调用的头文件。我换了头文件后,发现能够正常编译运行,但是在测试断网重连的时候,不对劲了。问题描述:Native error日志偶现fd找不到,这一句最后是定位到NetLink模块的一句Socket释放上,这一部分的日志打印都是偶现,但是崩溃的时候必出现libc的pthread_start和pthread_exit,所以一时间很迷茫。原因分析:怀疑点1:异常处理线程没有关闭结论:并不是,且打印线程id,是另启一个线程执行join原创 2021-01-12 13:48:29 · 389 阅读 · 1 评论 -
【NDK】一次因不清楚动态库链接流程导致的声音无法播放的问题
前景提要公元2020年9月,无线投屏手机端正在如火如荼的进行。大部分流程是复用接收端的,加上Windows组的小伙伴很稳,开发进度非常顺利,投屏、反控的主流程基本走完。例会上遗留了一个声音暂时播放不出来的问题,故事也由此展开…情景再现Chapter 1A:声音播放不出来应该是小问题吧,估计哪里开关没开或者配置不对。B:应该是吧,等下排查一下。获得成就:Flag creator怀疑点:1. 调用流程有误2. 设置的解码参数手机不兼容因为解码播放是研究院做的,且基本流程是复用接收端的,流程也原创 2020-12-27 15:35:19 · 176 阅读 · 0 评论 -
三年经验Android面经
除非大厂,其他都问的差不多,问大部分也就着简历问,问了5年+的,也差不多就问这些…都是基础吧,区分度应该主要在于项目经验匹配度、职业素质、思维和运气上。1. 基础自定义View的流程,requestLayout和invalidate的区别–> ViewRoot的performTraversal切入measure、layout、draw(讲完基础,可提一提Surface的显示原理)Handler原理,Handler/Looper/MessageQueue关系–> 消息循环需要创建一个L原创 2020-12-27 15:33:34 · 757 阅读 · 0 评论 -
两年经验Android面经
去年跳槽不成功,在A公司又呆了一年。一年来收获蛮大,就公司项目来说,已经是非常熟悉了,很多入职不久的,都是不断抱怨,框架太老,技术太旧。这个是实话,但是细看里面的思想和设计还是能学到不少东西的,一年来也顺手优化了许多东西,根据业务也思考了很多更合理的方案。不过还是打算跳槽了,薪资和无法推动项目是个大问题,总不能鱼渔都不得吧。我是抱着找不到好的,就北上的心态找的。做股票期货的,经验类似,面试太过顺利…Activity的启动模式Activity和Fragment数据交互线程间交互的方法都行,进程间交原创 2020-12-27 15:33:21 · 308 阅读 · 0 评论 -
一年经验Android面经
年后开始不间断的找工作跳槽,面了好多家,其实问来问去问题都差不多,都记录在这一篇了,有时间把答案补上。有质的改变再新建文章。1.Fragment的生命周期太迷了,把onResume和onStop写反了,面试官说看了心里一凉…2.事件分发机制,以及涉及到的设计模式3.onMeasure的测量模式与特点4.线程间通信和进程间通信5.ArrayList删除元素-> fail-fast机制,用Iterator;或者倒序删除6.写出你认为最优的懒汉式单例模式-> 写的静态内部类,被问了原创 2020-12-27 15:33:02 · 406 阅读 · 0 评论 -
IPC系列(二)- AIDL
上一篇说了,AIDL是为了实现IPC,预定义的类似模板的代码。甚至可以像模板一样的生成代码,就像mybatis使用MBG一样。这一篇主要就生成的代码来讲一下。aidl生成代码方法比较简单,建议搜个教程生成以后对照着看。方法含义:1.DESCRIPTOR:Binder的唯一标识,通常是当前Binder的类名。2.asInterface(android.os.IBinder obj):static返回...原创 2018-03-09 14:55:03 · 252 阅读 · 0 评论 -
IPC系列(一)- 基本概念
很久不写博客了,因为觉得水平还没达到能share的地步,怕误导别人,所以一直比较喜欢用印象笔记记录。但是反正也不是热门博主,也记点博客上吧,大神看到了错误请斧正。(一)概念: IPC:(Inter-Process Communication)跨进程通信。 Binder:(IPC)Binder是Android的一种跨进程通信方式。 AIDL:Android Interface definiti...原创 2018-03-09 14:05:23 · 1121 阅读 · 0 评论 -
腾讯视频解析,Java实现
今天学到一个Android网络视频播放程序,但是不知道为什么找了很多个网站的URL都不能播放,用硕鼠找的很多冷门网站的视频也不能用。所以就想是不是MediaPlayer播放视频的方法实在太OUT了,我想应该是的,但是网上找了个解析腾讯视频的代码(竟然还能用,而且还能解析最新的,看来中国的技术真的是敌不动我不动啊):package TX;import java.io.ByteArrayO原创 2016-05-03 23:33:19 · 8772 阅读 · 0 评论