首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
WYS_CHC_Caldremch
掘友等级
获得徽章 0
动态
文章
专栏
沸点
收藏集
关注
作品
赞
123
文章 123
沸点 0
赞
123
返回
|
搜索文章
赞
文章( 123 )
沸点( 0 )
Shadow的全动态设计原理解析
我们在宣传Shadow的时候说了Shadow具有两大特性,其中一个叫做“全动态插件框架”。这篇文章就讲这个特性。我们很早之前用过一款基于数百反射私有API实现的插件框架,在前面的文章也提过,在这种插件框架里要不停的兼容新版本的Android系统,OEM系统。尤其是Activit…
Shadow的跨进程设计与插件Service原理
这篇文章介绍一下Shadow的跨进程设计和插件Service的原理。一同讲这两部分是因为它们是相关的。这篇文章假设读者对于Android的Service、Binder通信没有那么了解,因此会提及一些可能对你来说有些简单的内容。 在Android系统中,应用可以是多进程的。这在移…
Shadow解决Activity等组件生命周期的方法解析
每个Android插件框架要解决的首要问题都是Activity的生命周期问题。Activity代表了Service等其他需要注册的组件。不同是插件框架解决这个问题的前提也不完全一样。而我们的业务要求比较苛刻,再加上Android 9.0的非公开API限制,所以由这些前提要求: …
Shadow的缺点介绍
看到有网友看到Shadow的开源公告和Github主页的README之后,觉得都是报喜不报忧的介绍。我们也多少同意这个看法。如果开源一个项目,并不指望其他人能真正使用,也不期待收获网友们回馈的代码贡献,那么报喜不报忧问题不大。但是Shadow开源的目的不是单纯的吹嘘自己的技术多…
Android插件框架的两个作用
首先谈谈我们理解的Android插件框架有什么作用,免得大家同我们交流时不在一个频道。 我们理解的插件框架有两个作用:一是“自解耦”,二是“免安装”。 自解耦指的是一个应用原本由一份代码编译而成,希望改成将其中的一些功能单独编译,像插件一样动态插在主应用上。这样一来可是使主应用…
Tencent Shadow—零反射全动态Android插件框架正式开源
Shadow是一个腾讯自主研发的Android插件框架,主要有以下特点: Shadow所指的插件是插件的代码完全是一个正常可安装的App代码,无需引用任何Shadow的库。这样的App代码应用了Shadow之后可以免安装运行在另一个App中。 Shadow是一个完全无Hack,…
Tencent Shadow将在掘金持续分享
Tencent Shadow是腾讯最近开源的一款Android插件框架。我们的业务长期应用这项技术,在积累了大量经验后自主设计开发的一款Android插件框架。这款插件框架的设计是考虑了市面上所有Android插件框架的需求而设计的,但实现上只优先实现了我们自身业务所需要的功能…
Shadow为什么要求插件和宿主包名一致
我们过去也用过基于各种反射实现的插件框架,用了3年左右时间,也维护了3年左右时间。在过去维护的经验中,我们就发现了插件使用单独包名(ApplicationId,下同)带来的问题。 ApplicationId一般是在build.gradle中设置的,在编译时这个字符串会被记录在2…
做了五年Android,我顿悟了...
我们做技术开发的人都有个习惯,那就是喜欢不定期地进行总结,当然我也不例外.我有个特别的爱好,那就是把我一年前的代码拿出来和我现在写的代码进行对比,看是否有所长进. 一个人回首过去,如果发现现在的自己和一年前或者更久前的自己没有任何积极的变化的话,那么你这些年就算是虚度光阴了. …
为什么 bindService 能和 Activity 的生命周期联动?
前一个问题可以很快回答出来:生命周期不同,结束方式不同,交互方式不同。 后一个问题也能很快想到应该是 Activity 在销毁的时候顺带把 Service 销毁了。那么为什么 startService 不行呢?具体是怎么实现的呢?如果不对源码研究一番,似乎无法给出让人信服的回答…
下一页
个人成就
掘力值
10
关注了
25
关注者
0
收藏集
30
关注标签
8
加入于
2016-10-02