HarmonyOS
未读ArkTS在TypeScript(简称TS)生态基础上做了进一步扩展,保持了TS的基本风格,同时通过规范定义强化开发期静态检查和分析,提升程序执行稳定性和性能。
在UI开发框架中,ArkTS主要扩展了如下能力:
基本语法:ArkTS定义了声明式UI描述、自定义组件和动态扩展UI元素的能力,再配合ArkUI开发框架中的系统组件及其相关的事件方法、属性方法等共同构成了UI开发的主体。
状态管理:ArkTS提供了多维度的状态管理机制。在UI开发框架中,与UI相关联的数据可以在组件内使用,也可以在不同组件层级间传递,比如父子组件之间、爷孙组件之间,还可以在应用全局范围内传递或跨设备传递。另外,从数据的传递形式来看,可分为只读的单向传递和可变更的双向传递。开发者可以灵活地利用这些能力来实现数据和UI的联动。
渲染控制:ArkTS提供了渲染控制的能力。条件渲染可根据应用的不同状态,渲染对应状态下的UI内容。循环渲染可从数据源中迭代获取数据,并在每次迭代过程中创建相应的组件。数据懒加载从数据源中按需迭代数据,并在每次迭代过程中创建相应的组件。
基本知识声明
ArkTS通过声明引入变量、常量、函 ...
Android的动画分为了三种, 分别是 帧动画、View动画(补间动画)、属性动画。
1、帧动画帧动画就是顺序播放一组预先定义好的图片,就类似于我们观看视频,就是一张一张的图片连续播放。
帧动画的使用很简单,总共就两个步骤:
1、在res/drawable目录下定义一个XML文件,根节点为系统提供的animation-list,然后放入定义更好的图片;2、使用AnimationDrawable类播放第一步定义好的Drawable中的图片,形成动画效果
2、View动画(也称补间动画)2.1 View动画的基本介绍view动画也称为补间动画,因为我们只需要拿到一个view,设定它开始和结束的位置,中间的view会自动由系统补齐,而不需要帧动画每一幅图都是提前准备好的。
View动画是Android一开始就提供的比较原始的动画,主要支持四种效果:平移、缩放、旋转、透明度变化(渐变) 四种基本效果,我们可以再这四种基础效果的基础上,选择其中的几种进行组合。
View动画的四种基本效果对应了四个Animation的子类,如下:
3、属性动画属性动画可以看作是增强版的补间动画,与补间 ...
一共23种设计模式,三种类型模式:创建型模式(5),结构型模式(7),行为型模式(11)。
创建型模式,共五种:工厂方法模式、抽象工厂模式、单例模式、建造者模式、原型模式。
结构型模式,共七种:适配器模式、装饰器模式、代理模式、外观模式、桥接模式、组合模式、享元模式。
行为型模式,共十一种:策略模式、模板方法模式、观察者模式、迭代子模式、责任链模式、命令模式、备忘录模式、状态模式、访问者模式、中介者模式、解释器模式。
设计模式的七大原则:●开闭原则:对扩展开发,对修改关闭
●单一职责原则:一个类只负责一个功能领域的相应职责
●里氏代换原则:所有引用基类的地方必须能透明地使用其子类的对象
●依赖倒转原则:依赖于抽象,不能依赖于具体实现
●接口隔离原则:类之间的依赖关系应该建立在最小的接口上
●合成/聚合复用原则:尽量使用合成/聚合,而不是通过继承达到复用的目的
●迪米特原则:一个软件实体应该尽可能少的与其他实体发生相互作用
创建型模式1.工厂模式:1.1 简单工厂模式:定义: 定义了一个创建对象的类,由这个类来封装实例化对象的行为。
12345678910111213 ...
关于 GlideGlide是一个快速高效的Android图片加载库,注重于平滑的滚动。Glide提供了易用的API,高性能、可扩展的图片解码管道(decode pipeline),以及自动的资源池技术。
Glide 支持拉取,解码和展示视频快照,图片,和GIF动画。Glide的Api是如此的灵活,开发者甚至可以插入和替换成自己喜爱的任何网络栈。默认情况下,Glide使用的是一个定制化的基于HttpUrlConnection的栈,但同时也提供了与Google Volley和Square OkHttp快速集成的工具库。
虽然Glide 的主要目标是让任何形式的图片列表的滚动尽可能地变得更快、更平滑,但实际上,Glide几乎能满足你对远程图片的拉取/缩放/显示的一切需求。
基本用法多数情况下,使用Glide加载图片非常简单,一行代码足矣:
123Glide.with(fragment) .load(myUrl) .into(imageView);
取消加载同样很简单:
Glide.with(fragment).clear(imageView);
尽管及时取消 ...
名词解释:1234561)前缀 答:前缀——是指符号串任意首部。 2)可归前缀 答:可归前缀——是指规范句型的一个前缀,这种前缀包含句柄且不含句柄之后的任何符号。 3)活前缀 答:活前缀——规范句型的一个前缀,这种前缀不含句柄之后的任何符号。
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117或给定文法规范句型的可归前缀的任意首部。 4)简单短语 答:简单短语——设G[Z]是给定文法,w=xuy∈V+,为该文法的句型,如果满足下面两个条件: ① Z xUy; ② Uu; 则称句型xuy 中的子串u是句型xuy的简单短语。 ...
Android
未读RecyclerView 的底层实现原理涉及到一些重要的概念和机制:
ViewHolder 模式:RecyclerView 使用 ViewHolder 模式来缓存列表项的视图对象,以便在滚动列表时能够快速重用视图,减少内存消耗和视图创建的开销。ViewHolder 是一个简单的 Java 对象,持有列表项的视图对象,避免了频繁的 findViewById() 调用,提高了列表的滚动性能。
回收复用机制:RecyclerView 内部维护了一个回收池(Recycler),用于存储已经滚出屏幕的列表项的 ViewHolder 对象。当列表项滚出屏幕时,RecyclerView 将其对应的 ViewHolder 放入回收池中,并在需要显示新的列表项时,从回收池中取出可复用的 ViewHolder 对象,避免了频繁地创建和销毁视图对象。
局部刷新:RecyclerView 提供了局部刷新的机制,可以精确地更新列表中的某个列表项,而不是刷新整个列表。通过调用 notifyItemChanged()、notifyItemInserted()、notifyItemRemoved() 等方法,可以实现 ...
Android面经一、四大组件1、Activity的生命周期
启动Activity:系统会先调用onCreate方法,然后调用onStart方法,最后调用onResume,Activity进入运行状态。
当前Activity被其他Activity覆盖其上或被锁屏:系统会调用onPause方法,暂停当前Activity的执行。
当前Activity由被覆盖状态回到前台或解锁屏:系统会调用onResume方法,再次进入运行状态。
当前Activity转到新的Activity界面或按Home键回到主屏,自身退居后台:系统会先调用onPause方法,然后调用onStop方法,进入停滞状态。
用户后退回到此Activity:系统会先调用onRestart方法,然后调用onStart方法,最后调用onResume方法,再次进入运行状态。
当前Activity处于被覆盖状态或者后台不可见状态,即第2步和第4步,系统内存不足,杀死当前Activity,而后用户退回当前Activity:再次调用onCreate方法、onStart方法、onResume方法,进入运行状态。
用户退出当前Activity: ...













