Android知识点
sinat_35938012
这个作者很懒,什么都没留下…
展开
-
Android中使用MediaMuxer录制MP4不能播放的问题总结
1. MediaMuxer.release()函数必须执行完毕否则MP4文件缺少moov_box,造成mp4无法播放。2. App被kill,关机,release()函数无法执行完毕被这个问题困扰了月许,期间尝试过:分析release()函数底层C/C++源码分析MP4文件,试图自行实现封装器;拦截ActivityThread里面的接受Activity生命周期的mHandler,提前...原创 2020-02-20 17:58:35 · 2340 阅读 · 1 评论 -
Activity中setContentView浅析
protected void onCreate(final Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main);}setContentView()方法会将我们的视图设置到哪儿去了?public void setCo...原创 2018-05-10 22:14:46 · 2022 阅读 · 0 评论 -
Android事件分发浅析
什么是事件分发?大家知道Android中的视图是由一个个View嵌套构成的层级视图,即一个View里包含有子View,而这个子View里面又可以再添加View。当用户触摸屏幕产生一系列事件时,事件会由高到低,由外向内依次传递,最终把事件交到一个具体的View手上处理,这个传递的过程就叫做事件分发。 从手触摸屏幕开始所产生一系列MotionEvent事件,将事件传递到具体的某一个View...原创 2018-05-10 22:22:55 · 856 阅读 · 0 评论 -
浅析Android中Handler机制
Handler机制是Android中相当经典的异步消息机制,在Android发展的历史长河中扮演着很重要的角色,无论是我们直接面对的应用层还是FrameWork层,使用的场景还是相当的多。分析源码一探究竟。从一个常见的用法说起:private Button mBtnTest;private Handler mTestHandler = new Handler(){ @Overri...原创 2018-04-27 11:42:28 · 344 阅读 · 0 评论 -
Android中View绘制流程浅析
一个View,从无到有会走三个流程,也就是老生常谈的measure,layout,draw三流程;我们都知道Android视图是由一层一层构成的层级结构,直白点说,就是父View包含子View而子View又可以包含子View。所以绘制流程是由最外层的View开始,一步一步向内传递执行。而整个过程又是递归等待的,最外层的View需要等内层所有的View执行完绘制流程才结束,所以便有了”减少布局层...原创 2018-07-15 18:06:39 · 2005 阅读 · 3 评论 -
Android中修改TabLayout下划线宽度(终极方案)
TabLayout搭配ViewPager用起来的确很爽,尴尬的是官方没有提供修改下划线长度的方法。造成了下划线长度和item的宽一样长。百度找到网上的方案,通过反射修改每个Item的Margin,Item变小了,随之下划线就变短了。尴尬的是当Item个数比较多而且Title字数较多的时候,文字就会换行。反射方法原文最终解决方法:1.先把TabLayout源码下来2.在TabLa...原创 2018-08-01 13:30:09 · 9155 阅读 · 8 评论 -
种一棵Android海康摄像机Demo的树
项目中有监控模块,准备使用海康的摄像机,方一运行所提供的Demo,就程序崩溃。 java.lang.RuntimeException: Unable to start activity ComponentInfo{com.test.demo/com.test.demo.DemoActivity}: android.content.res.Resources$NotFoundException...原创 2018-08-27 18:09:10 · 1084 阅读 · 6 评论