自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(29)
  • 收藏
  • 关注

原创 Material Design

•径向响应 所有的用户交互行为中都会有一个中心点,作为用户关注的中心点,当用户进行操作时应该绘制一个明显的视觉效果来让用户清晰地感知到自己的操作。Material Design的核心思想,就是将物理世界中的体验带入屏幕,并且去掉物理世界中的杂质,再配合虚拟世界的灵活特性,达到最贴近真实的体验。转场动画当一个界面跳转到另一个界面时,这一过程可以编排转场动画,这些动画不仅可以带来良好的视觉效果,更重要的是吸引用户的注意,比如我们可以利用转场动画引导用户做下一步的操作。

2023-10-04 11:25:42 108

原创 Android开发架构模式

而且,Presenter与具体的View是没有直接关联的,而是通过定义好的接口进行交互,从而使得在变更View时可以保持Presenter的不变,这点符合面向接口编程的特点。•Activity并不是一个标准的MVC模式中的Controller,它的首要职责是加载应用的布局和初始化用户界面,接受并处理来自用户的操作请求,进而做出响应。接下来我们学习MVP模式。•Presenter:作为View和Model之间沟通的桥梁,它从Model层检索数据后返回给View层,使得View和Model之间没有耦合。

2023-09-29 10:01:59 129

原创 git命令大全

执行 git archive –remote 命令基于远程版本库创建归档时,远程版本库执行此命令传送归档。执行 git fetch 或 git pull 命令时在本地执行此命令,用于从其他版本库获取缺失的对象。执行 git fetch 或 git pull 命令时在远程执行此命令,将对象打包、上传。执行 git push 命令时在本地执行的命令,用于向其他版本库推送数据。执行 git push 命令时在远程执行的命令,用于接受推送的数据。Git的CVS协议模拟器,可供CVS命令访问Git版本库。

2023-09-28 08:49:32 108

原创 理解ActivityManagerService

AMS处理的逻辑多而复杂,因此AMS并不是“孤军奋战”,而是有一些类和它“共同奋战”,这些类会帮助AMS完成相关逻辑,AMS和这些“共同奋战”的类就称为AMS家族。Android 7.0和Android 8.0对于AMS相关部分处理有较大的区别,为了更好地理解AMS家族,这里将分别介绍Android 7.0和Android 8.0的AMS家族。

2023-09-27 17:58:39 125

原创 理解上下文Content

ContextImpl 提供了很多功能,但是外界需要使用并拓展ContextImpl的功能,因此设计上使用了装饰模式,ContextWrapper是装饰类,它对ContextImpl进行包装,ContextWrapper主要是起了方法传递的作用,ContextWrapper中几乎所有的方法都是调用ContextImpl的相应方法来实现的。和Context相关联的类,除了ContextImpl,还有ContextWrapper、ContextThemeWrapper和Activity等。

2023-09-16 21:33:31 148

原创 Activity的生命周期全面解析

笔者的理解是,这种情况属于极端情况,用户操作很难重现这一场景。这种情况一般是用户行为所导致的,比如用户按Home键切换到桌面或者用户打开了一个新Activity,这时当前的Activity就会暂停,也就是onPause和onStop被执行了,接着用户又回到了这个Activity,就会出现这种情况。要注意这个和onStart的对比,onStart和onResume都表示Activity已经可见,但是onStart的时候Activity还在后台,onResume的时候Activity才显示到前台。

2023-09-15 00:17:14 263

原创 注解与依赖注入框架

在许多程序设计语言里,比如Java、C#,依赖注入是一种交流性的设计模式,在Android开发中也有很多实用的依赖注入框架,可以帮助我们少写一些样板代码,达到各个类之间解耦的目的。

2023-09-12 22:55:35 41

原创 结构性设计模式

智能指引:当调用真实的对象时,代理处理另外一些事,比如计算真实对象的引用计数,当该对象没有引用时,可以自动释放它;在现实生活模式中我们用到类似代理模式的场景有很多,比如代理上网、打官司等。结构型设计模式是从程序的结构上解决模块之间的耦合问题,它包括适配器模式、代理模式、装饰模式、外观模式、桥接模式、组合模式和享元模式。RealSubject:真实主题类,代理类所代表的真实主题。Proxy:代理类,持有对真实主题类的引用,在其所实现的接口方法中调用真实主题类中相对的接口方法执行。代理模式的类型和优点。

2023-09-09 21:11:43 60

原创 多线程阻塞队列

2.LinkedBlockingQueue它是基于链表的阻塞队列,同ArrayListBlockingQueue类似,此队列按照先进先出(FIFO)的原则对元素进行排序,其内部也维持着一个数据缓冲队列(该队列由一个链表构成)。双向队列可以从队列的两端插入和移出元素,因此在多线程同时入队时,也就减少了一半的竞争。公平访问队列就是指阻塞的所有生产者线程或消费者线程,当队列可用时,可以按照阻塞的先后顺序访问队列。阻塞队列常用于生产者和消费者的场景,生产者是往队列里添加元素的线程,消费者是从队列里拿元素的线程。

2023-09-06 10:56:38 116

原创 设计模式六大原则

这样如果我们再新增功能,你就会发现自己无须修改原有的类,只需要添加一个功能类的子类实现功能类的方法就可以了。依赖倒置原则在Java中的表现就是,模块间的依赖通过抽象发生,实现类之间不发生直接依赖关系,其依赖关系是通过接口或者抽象类产生的。由于使用基类对象的地方都可以使用子类对象,因此在程序中尽量使用基类类型来对对象进行定义,而在运行时再确定其子类类型,用子类对象来替换父类对象。•为依赖接口的类定制服务,只暴露给调用的类它需要的方法,它不需要的方法则隐藏起来。•在类的划分上,应当尽量创建松耦合的类。

2023-09-05 19:53:10 84

原创 Android线程池

1、可以通过ThreadPoolExecutor来创建一个线程池,ThreadPoolExecutor类一共有4个构造方法。

2023-09-04 07:27:43 84 1

原创 多线程编程-线程基础

使用多线程可以减少程序的响应时间,如果某个操作很耗时,或者陷入很长时间的等待,此时程序将不会响应鼠标和键盘等的操作,使用多线程后可以把这个耗时的线程分配到一个单独的线程中去执行,从而使程序具备了更好的交互性。什么是线程:列表第一项运行的exe文件就表示进程,它里面运行了很多子任务,这些子任务有的加载网页,有的处理缓存,有的进程下载,这些子任务就是线程,是操作系统调度的最小单元。以下是其主要步骤:(1)定义Thread类的子类,并重写该类的run方法,该run方法的方法体就代表了线程要完成的任务。

2023-09-03 14:08:14 42

原创 Android系统启动

在Android系统中,DVM(Dalvik虚拟机)和ART、应用程序进程以及运行系统的关键服务的SystemServer进程都是由Zygote进程来创建的,我们也将它称为孵化器。我们已经知道Zygote进程是在init进程启动时创建的,起初Zygote进程的名称并不是叫“zygote”,而是叫“app_process”,这个名称是在Android.mk中定义的,Zygote进程启动后,Linux系统下的pctrl系统会调用app_process,将其名称换成了“zygote”。

2023-09-02 23:38:36 45

原创 View体系与自定义View

Android自定义View

2023-08-30 19:55:22 96

原创 RxJava 3.x

3.ReplaySubject不管Observer何时订阅ReplaySubject,ReplaySubject均会发射所有来自原始Observable的数据给Observer。Subject 既可以是一个 Observer 也可以是一个Observerable,它是连接 Observer 和Observerable的桥梁。RxJava的异步操作是通过扩展的观察者模式来实现的,RxJava有4个角色Observable、Observer、Subscriber、Suject。•onNext:普通的事件。

2023-04-11 20:03:20 171

原创 Android业务架构 · 基础篇 · Jetpack四件套

Jetpack不断地更新和增加新的组件,使得Android应用的开发更加高效、稳定和可维护。

2023-03-06 15:27:27 307 1

原创 ViewPager2与ViewPager的区别

该文章仅供参考,可以帮你梳理好编程思想

2023-03-01 10:15:15 1948

原创 Android Studio创建模拟器无法运行AVD

Android Studio启动模拟器流程

2023-02-28 11:05:00 1762

原创 Kotlin之MVVM架构设计

Kotlin语言开发MVVM模式

2023-02-27 17:12:59 1105

原创 Kotlin数据流

Kotlin

2023-02-23 09:18:23 179

原创 Kotlin协程

Kotlin协程

2023-02-17 07:46:46 139

原创 Kotlin中的Gradle

Gradle的认识,通过本章节可以对Gradle有一个系统化的认识和理解。更多的Gradle还需要寻找更加专业的书籍

2023-02-16 08:12:33 693

原创 Kotlin泛型

Kotlin泛型

2023-02-15 08:07:18 91

原创 Kotlin集合

Kotlin集合

2023-02-14 09:41:31 374

原创 Kotlin类和接口类

Kotlin类和对象

2023-02-13 08:13:33 157

原创 Kotlin面向对象

Kotlin面向对象

2023-02-12 09:06:33 131

原创 Kotlin协程

Kotlin的协程定义

2023-02-11 09:28:46 97

原创 Kitlin 方法与Lambda表达式

Kotlin方法与Lambda表达式

2023-02-10 09:19:00 99

原创 Kotlin简介

Kotlin的基本语法

2023-02-09 09:50:56 1156 2

Apollo配置管理系统

Apollo是一个可靠的配置管理系统。它可以集中管理不同应用程序和不同集群的配置。适用于微服务配置管理场景。 服务器端是基于Spring Boot和Spring Cloud开发的,可以简单地运行,而不需要安装额外的应用程序容器(如Tomcat)。 Java SDK不依赖于任何框架,可以在所有Java运行时环境中运行。它还很好地支持Spring/Spring Boot环境。 . net SDK不依赖于任何框架,可以在所有。net运行时环境中运行。

2023-02-24

号外!号外!微信小程序项目

目前,本项目已支持 ECharts Tooltip,但是由于 ECharts 相关功能尚未发版,因此需要使用当前本项目中 ec-canvas/echarts.js,这个文件包含了可以在微信中使用 Tooltip 的相关代码。目前在 ECharts 官网下载的 echarts.js 还不能直接替换使用,等 ECharts 正式发版后即可。 具体使用方法和 ECharts 相同,例子参见 pages/line/index.js。 目前一个已知的 bug 是,有些图表的 tooltip 会显示 <br/> 而非换行符。这一问题将在之后修复,暂时碰到这一问题时,开发者可以通过在 formatter 中使用 \n 作为换行。

2023-02-23

未来人工智能趋势,方向-报告

人工智能(Artificial Intelligence),英文缩写为AI。它是研究、开发用于模拟、延伸和扩展人的智能的理论、方法、技术及应用系统的一门新的技术科学。 人工智能是计算机科学的一个分支,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器,该领域的研究包括机器人、语言识别、图像识别、自然语言处理和专家系统等。人工智能从诞生以来,理论和技术日益成熟,应用领域也不断扩大,可以设想,未来人工智能带来的科技产品,将会是人类智慧的“容器”。人工智能可以对人的意识、思维的信息过程的模拟。人工智能不是人的智能,但能像人那样思考、也可能超过人的智能。

2023-02-20

移动开发高级程序员-个人简历

此文件非比文件

2023-02-18

Java面试题(初,中,高,专家级)

面试题内容还盖面挺广泛的,从初级到专家级的都有,如果读者用心去阅读后,收货还是不小的,这份资料的作用用于大家查漏补缺的一个方向,不像很多书籍和音视频资料那样,系统话的描述,但是这份Java面试题的重点就是查漏补缺,夯实自己技术能力,加深技术点的记忆与理解。希望对大家有帮助!

2023-02-16

史上最全面的vue面试题

史上最全的vue面试题,该面试题全面的剖析vue面试题。想进大厂的小伙伴抓紧了!vue也是今后前端的趋势和方向,它涵盖了理论知识+实践项目中的难点,技巧。会让一下蒙在鼓里的小伙伴有一个质的飞越,拨开云雾理解vue的全面内容 涵盖了vue相关书籍方向,实现一个立体化学习体系,不在是单一的理解和熟悉。书籍名称名称也针对性的指引了vue的技术难点,重点。市面上有很多技术类书籍,由于种类繁多,阅读时间长,知识体系庞大,没有做到精准技术点突破。看了这个面试题后,会有一个质的目标,它不单单再是概念的理解,操作的使用,而是一个思想上的认知。

2023-02-14

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除