- 博客(7)
- 收藏
- 关注
原创 Android程序员架构师筑基必备:IOC控制反转与DI依赖注入(附视频讲解)
依赖注入(Dependency Injection,简称 DI)是实现控制反转的主要方式:在类 A 的实例创建过程中就创建了依赖的 B 对象,通过类型或名称来判断将不同的对象注入到不同的属性中。在我们编码的过程中,通常都需要两个或者更多的类通过彼此的合作来实现业务逻辑,也就是说,某个对象需要获取与其合作对象的引用,如果这个获取的过程需要自己实现,代码的耦合度就会高,维护起来的成本就比较高。你看,在紧耦合的情况下,老王下命令的时候自己要通过 new 关键字创建依赖的对象(小二和尚或者小三和尚);
2024-09-22 13:09:05 748
原创 C C++ 线程池的简单封装_c++ 线程封装
如果项目需要频繁的创建线程来处理任务,那么CPU资源会在线程创建和销毁上浪费许多,所以我们可以先把一定量的线程先创建好并且让它们在没任务的情况下陷入睡眠,有任务时再被唤醒来处理任务;最近在搭建一个服务器,打算把线程池应用进去,根据老师课上所讲和网上前辈们提供的资料对线程池有了以下总结:**(4) 任务队列: 存放没用处理的任务,提供一种缓冲机制。(3) 任务接口(任务类内):供线程调度进行任务的执行。(1) 线程池管理器: 对线程进行创建与管理。(2) 工作线程: 线程池中的线程。
2024-09-22 11:36:03 226
原创 Android性能优化的底层逻辑
还记得这张图吗?记得当年初学android第一节课,老师就拿了这张图,甚至说,到目前为止,我才能更深刻的理解这张图,下面由我来重新介绍这张图,也许会给你带来不一样的视角。你有没有发现,其实整个Android系统只分为两大块,Linux + Android 虚拟机,其他的部分不都是运行在这个上面的产物吗?(当然有些人会说,虚拟机不也是运行在linux的产物吗?答:是的。)如果你没明白,请允许我画个图,你也许就能明白我说的。
2024-09-22 10:32:34 357
原创 Android 启动优化(三)- AnchorTask 开源了
最新的版本号可以看这里 lastedt version第二步:自定义 AnchorTaskB,继承 AnchorTask,重写相应的方法4 }59 // 在这里进行操作,这里通过睡眠模拟耗时操作16 }1718 // 返回依赖的任务,这里是通过 class name 去找到对应的 task23 }2425}如果任务 C 依赖任务 B,任务 A,可以这样写27 }8 }910}最后,通过。
2024-09-21 21:29:42 345
原创 Android NDK:在Android Studio下的基本开发步骤和基础知识点总结
NDK是一系列工具的集合NDK提供了一系列的工具,帮助开发者快速开发C(或C++)的动态库。NDK集成了交叉编译器,并提供了相应的mk文件隔离CPU、平台、ABI等差异,开发人员只需要简单修改mk文件(指出“哪些文件需要编译”、“编译特性要求”等),就可以创建出so。NDK可以自动地将so和Java应用一起打包,极大地减轻了开发人员的打包工作。NDK提供了一份稳定、功能有限的API头文件声明Google明确声明该API是稳定的,在后续所有版本中都稳定支持当前发布的API。C标准库(libc)
2024-09-21 18:54:58 1151
原创 Android Activity launchMode研究
默认模式.每次有一个新的Intent对象来启动standard activity时, 这个activity的一个新的实例就会被创建,来处理这个intent,也即每一个activity实例处理一个intent.
2024-09-21 15:25:12 1043
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人