
android
@映映@
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
android 多线程性能优化
android 多线程性能优化基础概念CPU核心数和线程数的关系多核心多线程核心数、线程数CPU时间片轮转机制进程和线程进程线程并行和并发并发并行高并发编程优点注意事项Java里的线程线程的启动与中止启动Callable、Future和FutureTask中止run()和start()yield()和join()wait()/notify()/notifyAll()线程间的共享线程间的协作等待/通...原创 2020-04-14 20:51:16 · 927 阅读 · 0 评论 -
android代理
代理模式代理模式给某一个对象提供一个代理对象,并由代理对象控制对原对象的引用。通过引入代理对象的方式来间接访问目标对象,防止直接访问目标对象给系统带来的不必要复杂性。通过代理对象对原有的业务增强。代理模式一般会有三个角色:抽象角色: 指代理角色和真实角色对外提供的公共方法,一般为一个接口真实角色: 需要实现抽象角色接口,定义了真实角色所要实现的业务逻辑,以便供代理角色调用。代理角色:...原创 2020-04-13 21:12:31 · 327 阅读 · 0 评论 -
反射及动态代理
反射(Reflect)反射就是在运行时才知道要操作的类是什么,并且可以在运行时获取类的完整构造,并调用对应的方法。是Java被视为动态语言的关键,反射机制允许程序在执行期借助于Reflection API取得任何类的內部信息,并能直接操作任意对象的内部属性及方法。在运行时构造任意一个类的对象。运行时获取任意一个类所具有的成员变量和方法。在运行时调用任意一个对象的方法(属性)。Java...原创 2020-04-13 17:20:11 · 185 阅读 · 0 评论 -
Java中的泛型
Java中的泛型1.当我们将一个对象放入集合中,集合不会记住此对象的类型,当再次从集合中取出此对象时,改对象的编译类型变成了Object类型,但其运行时类型任然为其本身类型。2.因此1处取出集合元素时需要人为的强制类型转化到具体的目标类型,且很容易出现“java.lang.ClassCastException”异常。所以泛型的好处就是:适用于多种数据类型执行相同的代码泛型中的类型在使用...原创 2020-04-13 16:50:07 · 130 阅读 · 0 评论 -
CamerX
CamerX // CameraX core library using the camera2 implementation def camerax_version = "1.0.0-alpha10" implementation "androidx.camera:camera-camera2:${camerax_version}" // If you want to ...原创 2020-04-04 16:18:13 · 466 阅读 · 0 评论 -
startActivity源码分析(安卓10)
startActivity源码分析startActivty 首先调用Activity中的@Override public void startActivity(Intent intent) { this.startActivity(intent, null); }实际上调用的是public void startActivityForResult(@Requ...原创 2020-04-01 21:33:19 · 414 阅读 · 0 评论 -
android架构(AMS)
android架构(AMS)Android架构LoaderKernelNativeFrameworkApp通信方式BinderHandler系统启动AMSAMS启动AMS类图结构Android架构Android系统启动过程:Loader -> Kernel -> Native -> Framework -> AppLoaderBoot ROM: 当手机处于关机状态时...原创 2020-04-01 19:23:37 · 1004 阅读 · 0 评论 -
handler源码分析
handlerHandlerMessageMessageQueueLooperThreadLocal首先看一下handler发送和接收数据的代码 private var mHandler = Handler { print(it.toString()) false } private fun sendMessage() { Thread {...原创 2020-03-29 18:55:43 · 204 阅读 · 0 评论 -
bindService源码分析
bindServiceAIDL中使用了bindService(intent, mServiceConnection, Context.BIND_AUTO_CREATE)进行服务绑定,这里对这个方法进行源码分析。调用了ContextWrapper中的 @Override public boolean bindService(Intent service, ServiceConnect...原创 2020-03-28 02:28:47 · 885 阅读 · 0 评论 -
AIDL
AIDL:Android Interface Definition Language,即Android接口定义语言。服务端:class MyService : Service() { private val mList: MutableList<People> = mutableListOf() override fun onStartCommand(inten...原创 2020-03-27 21:50:44 · 163 阅读 · 0 评论 -
OkHttp解析四(拦截器)
OkHttp(四)拦截器ConnectInterceptorCallServerInterceptor拦截器ConnectInterceptor打开与目标服务器的连接,并执行下一个拦截器。@Override public Response intercept(Chain chain) throws IOException { RealInterceptorChain realCha...原创 2020-03-23 20:27:59 · 470 阅读 · 0 评论 -
OkHttp解析三(拦截器)
OkHttp(三)拦截器CacheInterceptor1.从缓存中获得对应请求的响应缓存2.缓存策略Factory()get()getCandidate()isCacheable()cacheResponseAge()computeFreshnessLifetime()3.没有网络请求也没有缓存4.没有请求,肯定就要使用缓存5.去发起请求6.有缓存7.没有缓存8.进行缓存9.总结拦截器Cac...原创 2020-03-23 19:15:52 · 802 阅读 · 0 评论 -
OkHttp解析二(拦截器)
OkHttp(二)拦截器RetryAndFollowUpInterceptorBridgeInterceptor拦截器上文OkHttp解析一(分发器)提到的OkHttp中的getResponseWithInterceptorChain()中的流程就是拦截器。使用了责任链模式。默认情况下有五大拦截器:RetryAndFollowUpInterceptorBridgeInterceptor...原创 2020-03-21 20:13:16 · 1163 阅读 · 0 评论 -
OkHttp解析一(分发器)
OkHttp官网介绍调用流程分发器:的缩写,是用于从万维网(WWW:World Wide Web )服务器传输超文本到本地浏览器的传送协议。使用TCP端...原创 2020-03-21 13:58:37 · 320 阅读 · 1 评论 -
Android网络架构
Android网络架构欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入欢迎使用M...原创 2020-03-21 12:06:45 · 550 阅读 · 0 评论