- 博客(18)
- 资源 (4)
- 收藏
- 关注
原创 Android高级实践分享
以下是我学习过程中,觉得比较好的Android进阶高级实践,分享给大家,可能有些东西差异化比较大了,但是我也想经过这些实践,踩踩坑。
2023-11-12 21:36:36 267
原创 自定义实现图片裁剪
/ 裁剪区域,例如:new RectF(100, 100, 300, 300)要实现这个功能,首先需要创建一个自定义的View,然后在该View中绘制背景框和裁剪后的图片。这样,你就可以在自定义View中显示裁剪后的图片了。// 从资源或其他来源获取原始图片。// 对原始图片进行裁剪得到的图片。(内容由讯飞星火AI生成)
2023-10-30 23:44:19 222
原创 Glide原理
相比其他几种图片加载框架,Glide性能最好。这得益于其高效的图片缓存策略其还有多样化的媒体格式加载:如GIF、Video,对于商城首页需展示丰富样式、信息的页面需求来说,也是必不可少的。
2023-10-27 17:37:31 858
原创 软件设计模式-中介者模式(仲裁者模式)总结
类图目的“定义一个封装-系列对象交互的对象。Mediator通过防止对象间显示地相互引用来促使松耦合,且可以独立地改变他们之间的交互。"[GoF]要解决的问题如何避免一组交互对象之间的紧密耦合?如何独立改变一组对象之间的相互作用?解决方案定义一个单独的Mediator对象,该对象封装一组对象之间的交互方式。对象与Mediator对象交互,而不是彼此直接交互。动机紧耦合的colleague。一组colleague通过互相引用和知道彼此而直接进行交互(紧耦合)紧耦合的
2020-05-21 08:18:17 453
原创 软件设计模式-外观模式总结
目的为子系统的一组接口提供统一的接口。Façade定义了使子系统更易于使用的更高级别的接口。要解决的问题复杂的软件系统通常被构造(分层)成子系统复杂子系统的客户端引用并了解(取决于)许多不同的对象(具有不同的接口),这使得客户端与子系统紧密耦合,紧密耦合的对象很难实现,更改,测试和重用。因为它们依赖许多不同的对象如果我们要最小化对子系统的依赖性,则避免这种方法复杂的子系统应...
2020-05-03 20:21:40 518
原创 软件设计模式-装饰器模式总结
装饰模式:目的动态地将额外的责任附加到对象上。装饰器提供了一个灵活的子类扩展功能的替代方法。要解决的问题子类化是在编译时静态扩展类功能(向类添加职责)的标准方法。实例化子类后,该功能将在其生命周期绑定到该实例,并且无法在运行时进行更改。如果我们想在运行时扩展对象的功能,而不是在编译时扩展类的功能,则可以避免这种方法。解决方案定义单独的Decorator对象:定义一个...
2020-05-02 17:17:39 371
原创 软件设计模式-职责链模式总结
目的通过给多个对象处理请求的机会,避免将请求的发送方与其接收方耦合。将接收对象串联起来,将请求沿链传递,直到有对象处理请求为止要解决的问题如何避免将请求的发送方耦合到其接收方 多个对象如何处理请求解决方案(1)这使得请求的发送者与其接收者之间的松散耦合成为可能(2)发送者请求的对象不了解最终将处理该请求的对象(接收者)。可以在运行时动态指定对象(3)链Handler(Hand...
2020-05-02 17:10:11 339
原创 软件设计模式-Singleton设计模式解决方案
Singleton设计模式描述了什么解决方案:1.让类自身负责其只能实例化一次。2.定义一个公共静态操作以提供该类的唯一实例。3.定义一个静态操作以提供类的唯一实例。子类不能重新定义静态操作。4.将类的构造函数设为私有,这样就永远不能从类外部实例化该类。...
2020-04-30 10:28:50 178
原创 软件设计模式-Singleton设计模式解决的问题
Singleton设计模式解决了什么问题:1.如何确保一个类只有一个实例?2.如何确保一个类只有两个实例?3.如何限制一个类的实例数4.一个类控制(并负责)如何实例化它5.如何避免创建大量不必要的对象...
2020-04-30 10:16:09 148
原创 操作系统-进程状态变迁分析
某系统的进程状态变迁图如图2-32 所示,请说明:(1)引起各种状态变迁的典型事件有哪些?(2)当我们观察系统中某些进程时,发现某一进程产生的一次状态变迁能引起另一进程作一次状态变迁。在什么情况下,当一个进程发生变迁3 时能否立即引起另一个进程发生变迁1?(3)试说明是否会发生下述因果变迁:2 → 13 → 24 → 1答案:(1)存在4种状态变迁:...
2020-04-30 09:04:47 9502 2
原创 操作系统-优先级进程调度
在采用优先级进程调度时,运行进程是否一定是系统中优先级最高的进程?为什么?不一定。因为高优先级的进程有可能正处在阻塞队列中,进程调度就从就绪队列中选一个进程占用CPU,这个被选中的进程可能优先级较低。...
2020-04-30 08:59:28 3048
原创 操作系统-系统中既没有运行进程,也没有就绪进程,系统中是否就没有进程
若系统中既没有运行进程,也没有就绪进程,系统中是否就没有进程?为什么?不一定。因为系统中的所有进程可能都处于阻塞状态。
2020-04-30 08:56:54 6790
原创 操作系统-若系统中没有运行进程,是否一定没有就绪进程?为什么?
若系统中没有运行进程,是否一定没有就绪进程?为什么?是。因为若系统中没有运行进程,那么系统很快会选择一个就绪进程运行。只有就绪队列中无进程时,CPU才可以处于空闲状态。...
2020-04-30 08:55:45 8421
原创 操作系统-程序执行时间分析
题目:设内存中有三道程序A、B、C,它们按A、B、C 的优先次序执行。它们的计算和I/O 操作的时间见下表。假设三道程序使用相同设备进行I/O 操作,即程序以串行方式使用设备,试画出单道运行和多道运行的时间关系图(调度程序的执行时间忽略不计)。在两种情况下,完成这三道程序各要花多少时间?答案:采用单道方式运行这三道程序,运行次序为A、B、C,故总的运行时间为:(30+40+10)+...
2020-04-30 08:51:55 20663 6
原创 关于图的拓扑排序
实现下图的拓扑排序。 设计思想:首先对有向图,我们采取邻接表作为数据结构。且将表头指针改为头结点,其数据域存放该结点的入度,入度设为零的结点即没有前趋。在建立邻接表输入之前,表头向量的每个结点的初始状态为数据域VEX(入度)为零,指针域NXET为空,每输入一条弧< J, K > 建立链表的一个结点,同时令k 的入度加1,因...
2020-04-29 16:25:25 253
原创 关于Java报错:java.lang.ArithmeticException:divide by zero
我们在进行除数运算时,是不是很容易忽略除数为0的情况若除数为0,则报java.lang.ArithmeticException:divide by zero因此除数不能为零,请务必检查代码是否有机会出现除数为零的情况...
2020-04-29 15:42:16 1975
原创 Android使用Service及BroadcastReceiver实现音乐播放器
播放音乐,我们需要在AndroidManifest.xml文件添加权限<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"...
2020-04-29 15:26:23 2815 13
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人