首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
WYS_CHC_Caldremch
掘友等级
获得徽章 0
动态
文章
专栏
沸点
收藏集
关注
作品
赞
123
文章 123
沸点 0
赞
123
返回
|
搜索文章
赞
文章( 123 )
沸点( 0 )
Android同步屏障机制
在阅读Android系统源码时发现,任何可能会引发View发生变化的操作,都会触发执行ViewRootImpl中的scheduleTraversals()方法,来安排下一次屏幕刷新信号到来的时候,
Android 的 so 文件加载机制
最近碰到一些 so 文件问题,顺便将相关知识点梳理一下。 Q2,Q3,Q4,这几个问题都是基于设备支持 64 位的前提下,在旧系统版本中,只支持 32 位,也就没这么多疑问需要处理了。 由于这次的源码会涉及很多 framework 层的代码,包括 java 和 c++,直接在 …
字节面试:什么是责任链模式?
前言 面试经历大家肯定都有过,但是面试的流程其实跟一种设计模式很像,每一轮的面试官都有自己的职责,一个求职者面试经历的过程就好比一次客户端的请求过程。 在设计模式系列的文章中之前已经为大家分享了创建型
建议收藏,从 jCenter 迁移到 MavenCentral 完整方案
发布到 Maven Central 相关的教程挺多的,但是大部分存在问题。这篇文章是我在解决了很多问题的基础之上总结的,用来帮助需要的同学避免重蹈覆彻。需要的可收藏,万一用到了呢~
GitHub无法访问、443 Operation timed out的解决办法
如果你也遇到这些情况,那你很幸运,这篇文章可以帮你解决90%的问题。 1. 打开https://github.com.ipaddress.com/ 如下图:
Shadow对PackageManager的处理方法
在Android开发中免不了使用PackageManager获取当前应用的一些信息。 从官方文档上能确定PackageManager一般都是通过Context的getPackageManager方法获得的,实际上我们平常开发中也只有这个途径。 显然,如果插件框架什么都不做,插件…
Shadow对插件包管理的设计
在Shadow开源的代码中,首先分为core层和dynamic层。core层就完成了插件框架的全部功能,dynamic层又将插件框架动态化起来了。然后core层本身主要也分为两部分,一部分是loader相关的,一部分是manager相关的。其中loader就是解决插件框架核心功…
调试研究Shadow对字节码编辑的正确姿势
Shadow是通过字节码编辑技术向插件插入中间层,完成插件技术的核心工作的。所以,有必要给新接触字节码编辑技术的同学分享一下研究这项技术的入门姿势。 Android 官方的构建过程提供了名为TransForm的API,详见这里 。这个API允许第三方插件在class转换成dex…
Shadow支持WebView使用file:///android_asset/协议加载插件资源的方法
在正常的App开发中,我们可以用这样的代码加载App的Assets中打包的Web页面。 Android系统实现这个功能时,并没有像我们想象的使用webview对象的Context去查找Assets资源。而是通过当前应用的ApplicationId,反查了当前安装的应用的apk路…
Shadow解决插件和宿主有同名View的方法解析
在“免安装运行App”这个场景中,插件代码通常和宿主是完全不相关的。甚至项目都是独立管理的,插件和宿主是不同团队开发,不同版本发布管理的。在这种情况下,插件和宿主中出现相同名字的类是非常常见的。只要设计好ClassLoader的结构,将插件和宿主的ClassLoader隔离开,…
下一页
个人成就
掘力值
10
关注了
25
关注者
0
收藏集
30
关注标签
8
加入于
2016-10-02