- 博客(50)
- 资源 (4)
- 收藏
- 关注

原创 一款适合练手的壁纸应用
一款适合练手的壁纸应用前言 工作后,虽然也有负责一些应用模块的维护,但接触更多的是系统相关的知识与问题,而且作为螺丝钉,真正一箩筐的敲代码的机会也更少了,为了不让自己对应用知识陌生,找了个简单的练手应用敲了敲,复习下敲应用的感觉,共享下资源,给需要的人。
2017-12-20 19:44:49
827

原创 Android语言切换原理
Android语言切换原理前言 之前因为系统有些国家使用的字体乱码的原因,研究了下Android系统字体加载相关的知识,写了一篇Android系统字体加载流程的总结,浅析Android字体加载原理,然而系统的字体与系统当前的语言有密切的关系,因此抽空了解了下Android系统语言切换的流程,写下总结,加深印象。Android语言切换流程分析概述 有过Android开发经验的人,应该都知道An
2017-11-19 15:01:11
11467
7

原创 浅析Android字体加载原理
浅析Android字体加载原理前言 之前在处理系统字体问题的时候,可借鉴的资料很少,遇到了很多坑,不得不了解Android字体加载原理,现抽空写一篇总结,来加深自己对这块的理解。内容概述 Android字体系统是由底层的Android 2D图形引擎Skia来实现的,Android3.0之后逐渐使用了新的硬件绘图模块hwui,在5.0之后正式取代了Skia,因此不同版本的系统其字体加载机制有些
2017-08-08 09:27:54
7558
3

原创 浅谈MVC、MVP、MVVM的区别
前言MVC的概念很早就知道,现在发现还有MVP、MVVM,那么这些设计模式有什么区别呢?简单谈一下自己的理解。
2017-08-01 09:24:01
1766

原创 浅析onWindowsFocusChanged()方法
前言在接手的项目中,看到了onWindowsFocusChanged()的方法,抽空了解下它的用途.
2017-07-09 22:04:59
11108
原创 一个不成熟的产品思考
背景微信在2020年1月上线了视频号功能,利用微信这个社交平台,推动了“短内容”的创建、分发模式,目前看来这个功能让微信短视频领域的探索慢慢站稳了脚跟,吸引了不少头部、民间的短视频创作者入驻视频号,持续不断的提供丰富的短视频内容。微信mau 12亿,miui mau 4亿。目标利用Miui、MiuiTV天然的流量优势,在未来几年建立一个基于Miui系统能力的Miui视频号。前景与作用让小米用户、视频创作者、KOL给我们创作出优质的短视频内容。前期:让小米用户在小米手机上随处触达短视频内容服务、
2021-04-22 21:00:49
431
原创 ThreadLocal原理分析
ThreadLocal原理分析概述 在之前的文章中介绍过Android应用层的消息机制【点这里 】,里面简单的提了一句ThreadLocal,现抽空来研究下它的使用与原理。
2021-01-12 19:25:52
524
原创 性能优化—过渡绘制
过渡绘制概念 GPU过度绘制指的是在屏幕一个像素上绘制多次(超过一次),比如一个TextView后有背景,那么显示文本的像素至少绘了两次,一次是背景,一次是文本。GPU过度绘制或多或少对性能有些影响,设备的内存带宽是有限的,当过度绘制导致应用需要更多的带宽(超过了可用带宽)的时候性能就会降低。过渡绘制的原因:太多的View叠加复杂的层级叠加更长的inflation时间过渡绘制的影响 布局文件是一个xml文件,inflat
2020-10-17 11:56:50
3094
原创 Android内存占用情况分析
Android内存占用情况分析 本文主要讲解用系统自带工具分析android手机在运行时内存分部情况,当手机内存不足时,可以按照下面步骤分析到底是谁占用了内存。查看手机剩余内存情况在终端输入以下指令:adb shell dumpsys meminfo主要信息如下图: 查看手机剩余内存方法有很多,这个方法比较准确。Total RAM为手机的总内存;Free RAM为剩余内存:其中cached pss为后台缓冲进程,当系
2020-09-05 21:49:31
7197
原创 Java内存管理与内存泄露
Java内存管理与内存泄露Java是如何管理内存的? 为了判断 Java 中是否有内存泄露,我们首先必须了解 Java 是如何管理内存的。Java 的内存管理就是对象的分配和释放问题。在 Java 中,程序员需要通过关键字 new 为每个对象申请内存空间 (基本类型除外),所有的对象都在堆 (Heap)中分配空间。另外,对象的释放是由 GC 决定和执行的。在 Java 中,内存的分配是由程序完成的,而内存的释放是有 GC 完成的,这种收支两条线的方法确实简化了程序员的工
2020-08-11 09:40:06
226
原创 视频播放基础控件与无缝技术介绍
视频播放基础控件与无缝技术介绍概述 前阵子经手了项目里 Feed 流短视频播放的工作,虽然技术上难度不算大,但实现还是花了不少功。花了点时间稍微总结了下相关的技术点,分享给有需要的人。SurfaceView与TextureView区别 目前视频画面帧的展示控件常用的有两种 SurfaceView 及TextureView ,这节简单的介绍 SurfaceView 与 TextureView 区别。Android图形渲染 
2020-07-02 09:31:49
1152
原创 后台弹出界面权限踩坑
后台弹出界面权限踩坑 最近在处理MIUI系统中应用后台弹出界面权限时踩了一些坑,总结下经验,方便遇到同样问题的人。后台弹出界面权限 Android系统/应用自带了很多权限,为了限制应用的一些行为。但“魔高一尺,道高一丈”,现有的一些权限其实不能完全限制一些应用的行为,所以一些产商会在权限管理中自行添加相关的权限。 上图中,后台弹出界面权限就是MIUI系统自行添加的权限。顾名思义其作用就是限制应用在
2020-06-09 18:06:23
31992
7
原创 病房护理助手APP
病房护理助手APP概述这是我的毕设课题本课题的目标是设计和实现一个基于Android系统的病房护理助手APP。该APP供病房护理人员使用,能够方便的显示所负责的病房、病人信息,能够对吃药、输液等日常护理情况进行记录和提醒,并能够接收控制中心发来的呼叫命令。此外,该APP还能够对支持NFC的医疗设备或病人标识设备进行扫描识别。功能截图项目地址医疗护理助手...
2020-05-18 09:24:07
1153
原创 IntentService源码分析
IntentService源码分析概述 在上一篇的文章中介绍过HandlerThread的源码分析【点这里 】,这篇文章介绍下HandlerThread一个典型应用IntentService。 我们都知道安卓官方是不建议我们在一个Service的主线程里做耗时操作,所以一般都需要去开启子线程去做一些事情,而自己去管理Serv...
2019-12-15 11:17:00
211
原创 HandlerThread源码分析
HandlerThread源码分析概述 在之前的文章中介绍过Android应用层的消息机制【点这里 】,也介绍了利用Handler机制实现多线程调度的AsyncTask,接下来介绍一个新成员HandlerThread。从字面上可以看出,HandlerThread可能是与Thread与Handler应用相关的,HandlerThread也确实是封装了Handle...
2019-12-02 11:13:24
307
原创 Android开发新人培养计划
Android开发新人培养计划 抽空总结了一份关于Android新人培养计划的思维导图,可以作为一个新人入职培养计划的基线,在培养过程中进行适当的调整。...
2019-11-05 09:33:10
1575
原创 AsyncTask源码分析
AsyncTask源码分析概述 AsyncTask是安卓API里提供的一个多线程操作工具类,能够灵活方便地从子线程切换到UI线程。相信包括我在内的很多开发者在平常的项目种都有用到这个多线程工具,笔者在使用过程中就遇到一些问题,所以接下来会简单的描述其使用,然后分析其源码逻辑,解决自己遇到的疑问。基本使用 一般使用Async...
2019-10-22 09:17:00
336
转载 Android开发规范
Android开发规范命名规范包命名 规则:包名全部小写,采用反域名命名规则,一级包名是顶级域名,通常为com, edu, gov, net, org等,二级包名,通过为公司名或部门名或者个人名,三级包名通常为项目名,四级包名为模块名或者层级名。以下是从层级包名来划分android项目中采用的包划分结构:com.domain.xxx.activity /...
2019-10-16 11:31:24
243
原创 git分享
gitgit介绍与基本原理git介绍概述 git的全称为Global Information Tracker,是由Linux创始人林纳斯-托瓦兹发明的一种分布式版本工具,最开始用以管理Linux系统版本的控制,现已被很多企业广泛用以小型、中型、大型项目的版本控制。其主要作用是备份、回溯、共享软件项目,有着速度快、完全分布式、允许成千上万个并行开发的分支、有...
2019-05-16 21:05:57
1167
原创 Android屏幕亮度适配
Android屏幕亮度适配前言 最近由于接手了视频项目中的亮度调整功能,抽空总结了下Android亮度调节的方式,以及在如今系统定制化的情况下会遇到的坑。亮度调节模式 查看官网说明,可以看到,目前Android提供了两种亮度调节模式。SCREEN_BRIGHTNESS_MODE_AUTOMATIC 自动调节亮度,系统根...
2019-04-07 14:34:10
2127
3
原创 Android下的Linux指令集
Android目录结构dataapp:用户安装的应用data:应用的专属文件夹system:系统的配置信息,注册表文件anr:anr异常的记录信息dev:devices的缩写存放设备所对应的文件mnt:mount的缩写挂载在系统上的设备:sdcard,u盘proc:硬件配置,状态信息cpuinfo、meminfosbin:system b...
2019-03-23 20:31:10
234
原创 Android笔记之JNI学习
Android笔记之JNI学习交叉编译在一个平台上去编译另一个平台上可以执行的本地代码cpu平台 arm x86 mips操作系统平台 windows linux mac os原理 模拟不同平台的特性去编译代码jni开发工具ndk native develop kitndk目录docs 帮助文档platforms 好多平台版本文件夹 选择时选择项目支持的最小版本号对...
2019-03-17 17:18:01
186
原创 面试经验帖
面经   创个帖子,总结下最近面试的公司的一些面试题,希望能对现在正在找工作的朋友有帮助,会不断更新。常见问题:java:java面对对象思想java类加载机制:加载过程,类加载器等java内存模型,堆,栈,方法区等的用途java垃圾回收机制,回收算法以及引用算法java多线程
2018-12-09 08:28:08
393
1
原创 CTS问题的处理
CTS问题的处理流程   为了更好的描述处理这类问题的流程,下面将以以下两个例子为例,进行描述:例子1:【GMS认证】【CTS_instant】CtsTextTestCases–android.text.cts.MyanmarTest#testCompositionSemantics例子2:【CTS】【CtsShortcutManagerTestCases】...
2018-11-30 09:53:45
3527
4
原创 Android EventLog
Android EventLog输出1. EventLogTags.logtags介绍   在文件frameworks/base/services/core/java/com/android/server/EventLogTags.logtags  &n
2018-11-14 19:33:35
2382
原创 Android——Keymaster安全检测
Keymaster概述 工作以来,一直在负责Android系统安全漏洞的跟踪以及修复。最近在处理Android O以上机器的时候遇到了一个坑。当你的升级系统时,如果后一个系统中修改了如:系统版本、系统安全补丁日期等重要信息,系统在未双清升级后,就会处于锁定状态,如下图所示。 遇到这个问题,解决方式只有一个,就是进入reco...
2018-11-08 18:01:28
9570
原创 移动客户端安全漏洞等级划分
移动客户端安全漏洞等级划分移动客户端安全漏洞等级划分我们将漏洞危害程度分为:严重、高危、中危、低危、无危险五个等级。其中定义移动客户端安全漏洞为以Flyme为核心的移动客户端安全漏洞。包括Flyme系统、魅族旗下app、魅族智能设备上的安全漏洞。1. 严重,包含但不限于:直接获取客户端最高权限的漏洞。包括但不限于由于魅族修改导致的直接获取android系统权限、远程任意命令执行、由于...
2018-10-28 15:44:08
6981
原创 Android电量统计
Android电量统计前言   在维护电量管家应用以及学习处理一些功耗问题的时候,经常会接触电量统计相关的知识,抽空总结下这块知识,方便自己以及他人的学习。电量统计概述   在Andorid系统中的电量统计分为两种:一种是对于软件的耗电统计;一种是对于硬件设备的耗电统计。很多
2018-06-25 22:01:46
2252
原创 缅文字体CTS问题
缅文字体CTS问题背景   缅甸有官方字体和民间字体,为了通过CTS必须将系统缅文默认字体设置为官方字体,但用户习惯使用民间字体。需求   将官方字体和民间字体都预制到固件中,通过监听系统是否处于CTS测试状态,来实现两者字体的动态切换,若没跑CTS系统缅文默认字体为民间样式,若跑CTS则系统缅文默认字体切换为官方...
2018-06-19 20:50:26
2566
2
原创 Android应用后台网络管控机制
应用后台网络管控机制概述   在维护手管应用时,经常遇到与应用后台网络控制相关的问题,在解决这些问题的过程中,学习了下应用后台网络控制的流程以及一些日志的分析方法,现在把它总结一下,方便自己以及他人的学习。网络管控流程   对于后台网络管控主要的参与者如下: com.meizu.safe:NetworkMa...
2018-06-03 13:33:20
12723
转载 Data Binding 的介绍(二)
本文建立在有一定使用 DataBinding 经验的基础之上,若还不熟悉 DataBinding 的用法,请参考前一篇博客Data Binding 数据绑定(一)。
2018-02-23 20:05:14
704
转载 Data Binding 的介绍
前几天在忙一些其他的东西,DataBinding 这个系列的博客本应该在五月月初就要写的,结果一直拖到了现在,罪过罪过。在学习 DataBinding 的过程中,参考 Google 官方的 DataBinding 示例 Demo,自己写了一个 DataBindingPractice Demo,用于练手。整个工程采用 MVP 架构 + DataBinding,欢迎 st...
2018-02-23 19:57:54
496
1
原创 电量统计日志分析
Batterystats日志分析概述 由于项目组的原因,慢慢的接触了一些Android系统的“快省稳”知识,最近陆续学习了一些关于功耗的知识,而Batterystats日志是搞功耗的日常工作之一,搞功耗人员,每天都要从用户反馈和日常测试中分析大量的日志,从日志中不仅可以发现很多的功耗问题,还可以提取到很多有用的信息和功耗优化得方向,从中积累了一些分析经验,现把这些经验总结出来。
2018-01-30 23:55:04
5171
1
原创 dumpsys的使用笔记
Android系统中有很多服务,不同版本的Android系统,服务不尽相同,并且不同ROM厂商也提供了其定制的服务,为了方便查看这些服务的信息与状态,Android提供了dumpsys工具。
2017-12-23 17:50:40
1151
转载 AndroidStudio中使用plantUML
本问转载自http://blog.youkuaiyun.com/u013831257/article/details/50118461
2017-11-18 12:37:39
3444
原创 读深入理解Java虚拟机-2
前言看了第二章的内容,大致了解了下Java虚拟机的内存分划,以及内存操作导致的内存溢出异常,对于我以后使用Java编程有很大帮助.
2017-09-29 09:47:14
472
1
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人