- 博客(85)
- 资源 (13)
- 收藏
- 关注
原创 android app架构文档设计规范
5 最后如果内部实现需要遵从一些设计原则,或设计模式,关键算法等,需要写下内部实现策略图以及关键算法的描述。4 接下来如果子系统复杂的话,再讲内部的子系统的 架构图,结构图,。循环以上 1,2,3的步骤。3 接下来要讲具体的业务流程,这里主要用到协作图,或者数据流图,讲述该接口对应的传输过程。1 首先要先写系统架构图,将该功能在整个系统的位置以及和大致的内部模块划分。2 然后写内部的结构图,讲内部的各个子系统,模块,组件之间的关系和调用顺序。由于近期在做软件架构设计,这里总结下大致的设计流程。
2025-01-15 09:17:27
415
原创 Android系统SOA适配
当然现在是一个半成品的微服务,ams,pms,wms,audio service,location service,mediaprovider 不就是。比如基于对微服务的监控达到对系统资源的实时配置,包括 cpu,内存,io,甚至更细节的进程,线程的调度,也包括。比如基于对微服务的监控达到对上层UI的实时调整,包括皮肤,功能位置的排布,甚至到具体的页面布局。一个个的微内核吗,是啊,这就是一个个微内核,但还不够,我们增加更多的微内核。将更多的基础服务加入进来,比如,导航服务,语音服务,社区服务,埋点服务,
2025-01-02 11:25:21
224
原创 android 动画原理分析
--windowcontainer.applyanimationunchecked -----surfaceanimator.startanimation--(创建leash然后Transaction.reparent(surface,leash))android 动画分为app内的view动画和系统动画。直接来看下系统动画里面的本地动画:app启动动画。动画的触发,动画的加载,动画的启动,动画的关闭。这里大概写下流程,下面有具体的调用堆栈。先来看下app启动时候的动画加载。二 动画执行循环流程。
2024-11-20 15:59:44
778
原创 对android binder的一些疑问及解答
至于如何封装的,这块应该是binder里面最难的了,当成盲盒吧,因为即使看明白了也会很快就忘,和后期的问题跟踪或解决关系也不大,基本永不上。第五层封装:就是用aidl进行封装,主要是对协议接口的parcel数据自动打包和解包的封装以及自动生成bpbinder,bbinder对象。之所以要设计出代理的这个概念,完全是上层封装虚拟出来的一个概念,其实并不是代理模式,代理类里并没有被代理对象的引用,只是一个简单的映射关系。第二层封装用IBinder.h里面的 transatct一个方法是最直接和容易理解的。
2024-10-09 16:08:43
335
原创 总结下android性能提升方案
2.5 atms,oomadjuster 的调度行为需要屏蔽我们自定义的调用,最好 process里面对接口统一过滤,就是系统那一套如果遇到我们自定义的这一套,需要跳过。核也要写进去,高优先级 就写大核对应的cpu id,低优先级就写小核的。1 kenel层直接调度,直接对进程对应的名字进行cpu分配和设置进程优先级为fifo,cpuweight等,可以设置更多,更细致的参数。对setthreadscheduler 设置哪一类的优先级的封装,对cupset的设置的封装,以及配套的自定义cpuset对应的。
2024-09-27 14:07:30
407
原创 android 性能调整方案总结
所在的进程组会随着进程变化而变化。主线程的优先级会随着状态的变化被系统动态调整(oom_score_adj、procState、schedGroup 前后台等)子线程的优先级的设定也会抢占到主线程,不易过高。echo 919 > /dev/cpuset/foreground/tasks // 919对于的进程号。/sys/devices/system/cpu/cpu*/online写入0(代表关闭)//第*个cpu。/proc/cpufreq/cpufreq_oppidx 写入5(5hz)//cpu频率。
2024-05-08 17:31:12
902
BeyondCompare4.2.10.23938 免安装,无需激活码
2024-07-09
android 可以根据数值动态改变控件的大小的控件
2018-07-11
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人