Android
文章平均质量分 79
junbin1011
天天向上
展开
-
破解遗留系统快速重构的5步心法(附实例)
前两天和一个架构师朋友闲聊,说到了 「重构」 这个话题,他们公司早年间上线的项目系统,因一直没专人在演进过程中为代码质量负责,导致现在代码越来越混乱,逐渐堆积成“屎山”,目前的维护成本已远高于重新开发一套新系统,想重构也没有合适的人力物力以及时机,只能继续凑合用。说实在的,这确实不只是朋友他们一家公司会遇到的问题,而造成这种情况的原因大概率有以下几点:编码之前缺乏有效的设计成本上的考虑,在原功能堆砌式编程缺乏有效代码质量监督机制原创 2023-02-21 11:18:29 · 607 阅读 · 0 评论 -
SufaceView为什么在视频暂停播放后,退至后台后,重新显示黑屏?
最近项目遇到一个播放的问题,当视频在播放中暂停后,按home键到后台,重新启动应用时,画面显示黑屏了。看了几个主流的播放器,情况如下: 本地播放器同样是黑屏的现象腾讯视频同样是黑屏的现象优酷视频同样是黑屏的现象乐视视频视频非暂停状态,而是续播的状态原创 2016-11-03 09:04:53 · 9630 阅读 · 6 评论 -
Android的Window底层原理
1.概述 Window是一个抽象类,他的实现是PhoneWindow。Window通过WindowManager创建,是访问Window的入口。Window的具体实现位于WindowManagerService中,WIndowManager与WindowManagerService的交互是一个IPC的过程。WindowManager中的Layoutparam中的Type表示Window的类原创 2016-12-05 12:00:12 · 3265 阅读 · 0 评论 -
ListView添加HeaderView出现Cannot add header view to list -- setAdapter has already been called.
今天项目由于需要根据动态数据来控制ListView的头部,但在4.2系统出现如下异常:java.lang.IllegalStateException: Cannot add header view to list -- setAdapter has already been called. at android.widget.ListView.addHeaderView(ListView.ja原创 2016-11-22 19:04:51 · 1015 阅读 · 0 评论 -
设计模式-单例模式
1.单利模式的定义及使用场景确保某一个类只有一个实例,而且自行示例化并向整个系统提供这个实例。确保某个类有且只有一个对象的场景,避免产生多个对象消耗过多的资源,或者某种类型的对象应该有且只有一个。例如创建一个对象需要消耗的资源过多,如要访问IO和数据库等资源,这时就要考虑使用单例模式。2.单例模式的优缺点2.1优点1)减少内存,特别是一个对象需要频繁地创建、销毁,而且创建或原创 2017-01-06 09:33:20 · 598 阅读 · 0 评论 -
Android消息机制底层原理
1.概述Android的消息机制主要是指Handler的运行机制,Handler的运行需要底层的MessageQueue和Looper的支撑。MessageQueue是消息队列。他的内存存储了一组消息,以队列的形式对外提供插入和删除的工作。他的内部存储结构并不是真正的队列,而是采用单链表的数据结构来存储消息列表。Looper为消息循环,由于MessageQueue只是一个消息的存储单元,它不能原创 2017-01-17 20:44:47 · 3946 阅读 · 0 评论 -
Android事件分发底层原理
1.简介1.1事件构成在Android中,事件(TouchEvent)主要包括点按、长按、拖拽、滑动等,所有的事件都由如下三个部分组成按下(ACTION_DOWN)移动(ACTION_MOVE)抬起(ACTION_UP)一般来说,一次完整的Touch事件,应该是由一个Down、一个Up和若干个Move组成。原创 2017-02-17 16:03:37 · 2641 阅读 · 1 评论 -
Android之Context底层原理
1.Context基本概念Context的中文翻译为:语境; 上下文; 背景; 环境,在开发中我们经常说称之为“上下文”。从Android系统的角度来理解:Context是一个场景,代表与操作系统的交互的一种过程。Context在加载资源、启动Activity、获取系统服务、创建View等操作都要参与 。从程序的角度上来理解:Context是个抽象类,而Activity、Service、Ap原创 2017-01-19 10:00:32 · 3742 阅读 · 0 评论