计算机
文章平均质量分 64
米同学
定期整理总结是个好习惯
展开
-
Activity的显示过程探究
一 ,Activity是如何显示的? Activity创建过程:执行handleLaunchActivity()方法,然后执行attach方法创建PhoneWindow,创建WindowManager对象(windowManager不是WMS的直接代理类,创建WindowManagerGlobal,调用WindowManagerGlobal,创建ViewRootImpl,调用ViewR...原创 2017-08-05 21:56:34 · 227 阅读 · 0 评论 -
插件化
插件化原理是将app中一些功能模块做成插件,一方面减小安装包的体积,另一方面实现app的动态扩展。hook越多,侵入性越多问题:1.插件化是什么?插件化是apk动态扩展功能的一种技术,特点: 免安装运行。插件具体载体可以是apk,dex文件,zip包。2.插件化的运行过程?动态加载类或者资源,实现免安装的功能扩展。3.插件化要解决的问题如何把插件apk中的代码和...原创 2019-11-16 21:54:15 · 414 阅读 · 0 评论 -
插件化学习总结
https://tech.meituan.com/2017/10/12/android-hydra.html原创 2019-11-15 15:16:01 · 170 阅读 · 0 评论 -
Android转屏研究
研究下手机转屏的情况原创 2019-10-22 17:24:04 · 183 阅读 · 0 评论 -
一个好的sdk具备的特点
一,什么是SDK脑暴一下,一个好的sdk具备的特点:1.简单的使用说明2.基本功能3.权限校验4.灵活的更新方式5.友好提示:如参数合法性检验,对边界的严格检查6.sdk体积7.API职责的合理划分8.易用性/稳定性/灵活性/资源开销工作中接触的项目有适配其他合作方的sdk,具体实现是:合作方将其基础功能打包成sdk提供给我们,我们集成后,做出面向用户的...原创 2019-04-18 17:32:31 · 2584 阅读 · 0 评论 -
安卓ANR
此次转载的有关ANR的博文,是从系统层面,进程的角度对ANR问题做了深刻分析。值得收藏。https://mp.weixin.qq.com/s?__biz=MzI5NjE3NzA4Mg==&mid=2650359967&idx=1&sn=7d59915254a6a346c4d5eda369141eb6&chksm=f445b44ac3323d5c458405f65...转载 2019-04-14 17:18:59 · 604 阅读 · 0 评论 -
Android-内存泄露学习总结(二)
https://yq.aliyun.com/articles/3009?spm=a2c4e.11153940.blogcont3009.111.644a2b94EGvUfB&p=2#commentshttps://blog.csdn.net/gemmem/article/details/8920039https://blog.csdn.net/gemmem/article/deta...转载 2019-05-03 16:44:18 · 104 阅读 · 0 评论 -
Android-JMM学习总结(一)
一.Java内存模型学习Java内存模型的思路:1.Java 内存模型是什么2.解决什么问题及具体是怎么解决的3.内存划分4.垃圾回收机制5.内存泄露分析背景:CPU 和缓存一致性(可见性):CPU 和主存之间增加缓存,在多线程场景下会存在缓存一致性问题,原因是多核多线程处理器优化(原子性):处理器可能会对输入代码进行乱序执行处理指令重排(有序性):编译器指...原创 2019-04-24 09:12:17 · 303 阅读 · 0 评论 -
Java中Synchronized的用法
A. 无论synchronized关键字加在方法上还是对象上,如果它作用的对象是非静态的,则它取得的锁是对象;如果synchronized作用的对象是一个静态方法或一个类,则它取得的锁是对类,该类所有的对象同一把锁。B. 每个对象只有一个锁(lock)与之相关联,谁拿到这个锁谁就可以运行它所控制的那段代码。C. 实现同步是要很大的系统开销作为代价的,甚至可能造成死锁,所以尽量避免无谓的同步...转载 2017-07-10 14:41:24 · 166 阅读 · 0 评论 -
Android中多进程多线程模型学习(二)
上篇中学习了多进程和多线程的概念,该篇总结下多线程编程中的一些概念和遇到的问题。一,线程安全,同步1,锁1.1基本概念锁的分类:偏向锁、轻量级锁、重量级锁锁升级:根据线程竞争锁的激烈程度,锁会从偏向锁升级为重量级锁1.2 jvm对锁的优化jvm内置锁存在的基本问题:线程切换的成本大,主要表现为:内核态和用户态的切换,线程切换为了换取性能,JVM在内置锁上做了非常多的...原创 2017-12-08 13:35:06 · 204 阅读 · 0 评论 -
Android消息机制总结
先问几个问题1.Handler消息处理机制一个消息处理机制包括三个部分:发送消息,消息循环和处理消息Handler:发送消息+处理消息Looper:消息循环MessageQueue:存储消息的数据结构+分发消息具体源码不在这里分析。。。2.ThreadLocal在Handler中的作用一句话概况:存储线程私有的数据Looper对象3.每个线程是否可以有多个han...原创 2019-04-25 10:12:38 · 178 阅读 · 0 评论 -
关于蓝牙
一. android为什么要hide一些apiSDK之所以不给出隐藏的API肯定有其原因:1. 出于安全性有些api是不能直接暴露给开发者,是处于安全性的考虑2.是后续版本兼容性的考虑因此不能保证隐藏API能在所有Android平台上很好地运行总之hide的api是不对开发者的,是对它的宿主开发者。3.调用hide的api前提是知道类名,然后使用反射拿到变量和类名...原创 2019-05-09 20:07:51 · 194 阅读 · 0 评论 -
网络框架总结
HttpUrlConnetction该协议是对网络请求这个过程的包装。从协议的解析到TCP的连接,以及tcp连接的缓存,整个过程就是应用层到网络层的一次网络请求过程,Okhttp1.基本用法异步/同步请求2.原理一个网络请求最必要的两部分是请求(Request)和返回结果(Response)任何网络请求框架都是对这两个过程的包装,是网络请求变得更加简单和智能特性:...原创 2019-05-20 14:51:37 · 190 阅读 · 0 评论 -
图片处理
一,图片处理框架ImageLoader缓存策略:内存缓存+磁盘缓存内存缓存1.缓存是用什么数据结构实现的数据结构LruMemoryCache里面有个LinkedHashMap来存储缓存Bitmap对象。key是URL,value是bitmap对象LinkedHashMap查找的时间复杂度是:O(1)LruMemoryCache缓存的是bitmap的强引用,当前缓存图片大于之前设...原创 2019-05-16 19:36:30 · 142 阅读 · 0 评论 -
Android P对非SDK接口的限制
1.sdk接口https://developer.android.google.cn/reference/packages,能够在谷歌网站查询到的接口,参考google官网2.非 SDK 接口:除以上的 SDK 接口外,其他都是非 SDK 接口调用非SDK会出现的问题:通过反射或者JNI访问非公开接口时会触发警告/异常3.非 SDK 接口管控名单https://develo...原创 2019-05-29 15:14:06 · 1040 阅读 · 0 评论 -
WebView
webview1.webview extends AbsoluteLayout ViewGroup2.Android 4.4 之前使用 WebKit 作为渲染内核,4.4 之后采用 chrome 内核3.uid 1000的进程是不能运行webview组件的 final int uid = android.os.Process.myUid(); ...原创 2019-06-04 10:22:39 · 218 阅读 · 0 评论 -
Kotlin学习资料
https://juejin.im/post/5aa64556f265da238c3a51d3原创 2019-08-13 21:01:43 · 184 阅读 · 0 评论 -
移动端AI学习
背景知识了解大多数的AI是在云端运算的。但是在移动端使用 AI 具有无网络延迟、响应更加及时、数据隐私等特性。原创 2019-08-25 17:18:56 · 268 阅读 · 0 评论 -
Android Q适配收集
https://blog.csdn.net/xiangzhihong8/article/details/100534958转载 2019-09-06 15:52:20 · 205 阅读 · 0 评论 -
Android系统启动流程(四)Launcher启动过程与系统启动流程
http://liuwangshu.cn/framework/booting/4-launcher.html转载 2018-03-27 11:12:22 · 224 阅读 · 0 评论 -
XXX项目总结
一,项目背景专门给小孩做一个玩手机的模式或者环境,可以看视频,听音乐,电话防乱接,使用时间管控等二,功能模块2.1 家长中心家长中心主要负责:电话监控/时间监控/护眼模式/密码/网络等相关功能2.1.1 来电监听使用TelephonyManager相关接口监听电话的状态,然后根据来电状态显示拦截或提示动画。TelephonyManager.listen(mPhoneSt...原创 2019-04-14 14:07:38 · 136 阅读 · 0 评论 -
安卓自定义View进阶-事件分发机制原理
安卓自定义View进阶-事件分发机制原理http://www.gcssloop.com/customview/dispatch-touchevent-theory这篇博客不错,每次遇见事件分发时,都会看一遍view事件分发1.android对事件的定义点击,滑动,长按等,每个事件都由ACTION_DOWN/ACTION_MOVE...ACTION_MOVE/ACTION_UP组成...原创 2017-10-08 19:23:05 · 237 阅读 · 0 评论 -
mmap原理学习
参考大神:https://www.jianshu.com/p/eece39beee20转载 2018-10-08 17:14:09 · 322 阅读 · 0 评论 -
java反射
一,理解jvm虚拟机原理二,反射 2.1什么是反射 反射是什么呢?当我们的程序在运行时,需要动态的加载一些类这些类可能之前用不到所以不用加载到jvm,而是在运行时根据需要才加载。在Java运行时环境中,对于任意一个类,可以知道这个类有哪些属性和方法。对于任意一个对象,可以调用它的任意一个方法。这种动态获取类的信息以及动态调用对象的方法的功能来自于Java 语言的反射(Ref...原创 2018-10-14 16:23:32 · 185 阅读 · 0 评论 -
Android跨进程通信
一 多进程之间的通信由于不同进程所拥有的地址是两块不同的地址空间,所以不能直接通过共享内存共享数据了。Linux常用跨进程通信方式:管道,信号量,共享内存,socketAndroid常用跨进程通信方式:Intent ,共享文件,SharedPreferences,Binder,socket,基于Binder的Messenger.下面详细学习进程间的通信方式。二,进程之间的通信方式...原创 2018-10-07 14:56:06 · 545 阅读 · 0 评论 -
http 和 https 有何区别?如何灵活使用?
参考大神的博客:https://www.zhihu.com/question/19577317https://blog.csdn.net/u012050154/article/details/520455111、客户端发起HTTPS请求就是用户在浏览器里输入一个https网址,然后连接到server的443端口2、服务端的配置采用HTTPS协议的服务器必须要有一套数字证书,可以自己制作,也可以向组...原创 2018-07-05 14:05:32 · 946 阅读 · 0 评论 -
指纹
一,指纹作为手机指纹肯定能够要有指纹识别,解锁功能。其次,现在要接入指纹支付的标准,支持三方支付功能。从应用场景上来说,从之前单纯的人脸或者指纹解锁,到如今指纹支付以及授权通过各大app普及开来;而从系统层面,作为一向习惯于将设备接口能力开放出去Google,也在2015年2015年5月的Google I/O大会发布的Android M(正式版为Android 6.0)中提供...原创 2017-11-13 14:24:28 · 486 阅读 · 0 评论 -
解决:编译CM14.1 提示Jack “Out of memory error”错误
解决:编译CM14.1 提示Jack “Out of memory error”错误https://www.cnblogs.com/dinphy/p/6138803.html转载 2018-03-29 11:29:15 · 193 阅读 · 0 评论 -
PMS
PMS常用方法https://www.cnblogs.com/travellife/p/3932823.html原创 2018-04-15 20:50:28 · 572 阅读 · 0 评论 -
Android Service 形式分类
https://zhuanlan.zhihu.com/p/20510083转载 2018-03-27 11:11:49 · 999 阅读 · 0 评论 -
深入理解Android壁纸
http://blog.csdn.net/innost/article/details/47660645这篇文章非常经常,读了第一遍,感觉思路很清晰,里面有充满了跨进程调用和程序设计思想,值得再次研读。转载 2018-03-20 10:17:03 · 185 阅读 · 0 评论 -
跨进程调用异常分析总结
http://blog.csdn.net/huangyabin001/article/details/4291477112-07 20:01:19.931 7272 7272 E AndroidRuntime: FATAL EXCEPTION: main12-07 20:01:19.931 7272 7272 E AndroidRuntime: Process: com.miui.whe原创 2018-01-17 16:32:02 · 916 阅读 · 0 评论 -
Android 7.0 FileProvider
https://developer.android.com/reference/android/support/v4/content/FileProvider.html在应用间共享文件对于面向 Android 7.0 的应用,Android 框架执行的 StrictMode API 政策禁止在您的应用外部公开file:// URI。如果一项包含文件 URI 的 intent原创 2018-01-17 17:00:00 · 187 阅读 · 0 评论 -
安卓多用户笔记-用户创建
用户创建是由UMS中的createUser完成的1.权限校验checkManageUsersPermission1226 @Override1227 public UserInfo createUser(String name, int flags) {1228 checkManageUsersPermission("Only the system can c原创 2017-08-20 19:53:08 · 2445 阅读 · 1 评论 -
安卓多用户学习笔记
一.背景多用户是Android4.2被引入的二.用户创建切换删除相关类(基于Android6.0来分析)frameworks/base/core/java/android/os/UserManager.javaframeworks/base/services/core/java/com/android/server/pm/UserManagerService.javafram...原创 2017-04-05 18:09:31 · 609 阅读 · 0 评论 -
从JobSchedulerService开始探究学习安卓framework层
一,JobSchedulerService Google在Android 5.0中引入JobScheduler来执行一些需要满足特定条件但不紧急的后台任务,APP利用JobScheduler来执行这些特殊的后台任务时来减少电量的消耗。 1,Zygote fork出system_server进程,System_Server 是Zygote fork 的第一个Java 进原创 2017-03-05 15:21:39 · 761 阅读 · 0 评论 -
Native学习资料收集
http://www.cnblogs.com/mingfeng002/p/9118253.html转载 2018-10-15 18:03:17 · 130 阅读 · 0 评论 -
Android MVP架构搭建
http://www.jcodecraeer.com/a/anzhuokaifa/2017/1020/8625.html?1508484926https://www.jianshu.com/p/9a6845b26856?utm_campaign=haruki&utm_content=note&utm_medium=reader_share&utm_source=weix...转载 2018-10-15 18:07:06 · 211 阅读 · 0 评论 -
android MediaPlayer学习笔记
一,基本概念Android的MediaPlayer包含了Audio和video的播放功能,在Android的界面上,Music和Video两个应用程序都是调用MediaPlayer实现的。MediaPlayer在底层是基于OpenCore(PacketVideo)的库实现的,为了构建一个MediaPlayer程序,上层还包含了进程间通讯等内容,这种进程间通讯的基础是Android基本库中的B...原创 2019-04-08 10:18:36 · 250 阅读 · 0 评论 -
插件化学习
插件化汇总https://www.jianshu.com/p/6efbb13b3f76微信重构https://mp.weixin.qq.com/s/6Q818XA5FaHd7jJMFBG60w?问题:Event总线作为模块通信的媒介,它的特点适合一对多的广播场景其实本地的通信,能用接口就挺好,不能用的时候,再用协议封装也来得及事件发布者与订阅者互相不知道对方的存在,是解...原创 2019-02-20 17:44:12 · 159 阅读 · 0 评论