自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(103)
  • 资源 (1)
  • 收藏
  • 关注

原创 鸿蒙暂未归类知识记录

在组件内部定义一个静态字符串属性(如。

2025-12-11 21:03:33 141

原创 ES6 学习笔记3—7数值的扩展、8函数的扩展、9数组的扩展

这样做的目的,是逐步减少全局性方法,使得语言逐步模块化。对象上面,行为完全保持不变。

2025-12-08 20:34:56 188

原创 ES6 学习笔记2—4字符串的扩展、5字符串的新增方法、6正则的扩展

本章介绍 ES6 对字符串的改造和增强,下一章介绍字符串对象的新增方法。

2025-12-03 22:15:35 347

原创 ES6 学习笔记1—简介、let和const命令、变量的解构赋值

上面代码中,存在全局变量tmp,但是块级作用域内let又声明了一个局部变量tmp,导致后者绑定这个块级作用域,所以在let声明变量前,对tmp赋值会报错。总之,在代码块内,使用let命令声明变量之前,该变量都是不可用的。总之,暂时性死区的本质就是,只要一进入当前作用域,所要使用的变量就已经存在了,但是不可获取,只有等到声明变量的那一行代码出现,才可以获取和使用该变量。但是,浏览器没有遵守这个规定,为了兼容以前的旧代码,还是支持在块级作用域之中声明函数,因此上面两种情况实际都能运行,不会报错。

2025-12-02 22:14:01 780

原创 Web基础

HTML​ 的中文全称是 超文本标记语言。超文本:指的是它不仅包含文本,还能包含图片、链接、音频、视频等其他资源的引用,这些资源通过“超链接”相互连接,形成一个网状结构。标记语言:它不是一种“编程语言”,而是一种用来描述网页结构和内容的语言。它使用一系列预定义的“标签”来标记内容,告诉浏览器如何显示这些内容。简单来说,当您在浏览器中访问一个URL后,服务器会返回一个 HTML 文件。浏览器会读取这个文件中的HTML代码,然后将其“渲染”成您所看到的丰富多彩的网页。

2025-12-01 20:41:18 589

原创 RN项目结构、配置及IDE配置

navigation/: 处理应用的路由和导航逻辑,通常会使用 @react-navigation/native 等库来管理导航。metro.config.js: Metro bundler 的配置文件,可以在这里自定义 bundler 行为,例如资源解析。screens/: 应用的各个页面,通常是较大的组件,代表不同的视图或功能模块。App.js: 应用的主组件,是应用的入口点,通常在这里设置全局状态或根组件。components/: 存放可复用的 UI 组件,通常是小的、独立的组件。

2025-12-01 17:00:05 224

原创 RN脚手架

React Native目前最核心的两个官方和准官方脚手架是。

2025-12-01 16:43:22 263

原创 React Native学习路径与资源推荐

RN从入门到进阶的路线图总结如下,汇总了各个阶段的核心知识点与对应的推荐资源:[第一阶段: 基础入门][JavaScript与 ES6] --> [React 核心概念] --> [RN 开发环境与第一个应用][第二阶段: 核心技能][核心组件与 API] --> [页面布局与样式] --> [导航与路由][第三阶段: 进阶实战][网络与数据] --> [混合开发] --> [性能优化]:永远是信息最准确、更新最及时的第一手资料。

2025-12-01 14:55:32 824

原创 鸿蒙应用程序包管理模块

BundleInfoBundleFlagBundleFlag用于精确控制返回的BundleInfo包含哪些内容。某些标志位(如获取Ability信息)需要与组合使用才生效。

2025-11-20 20:51:08 400

原创 鸿蒙国际化与本地化

在每个目录的。

2025-11-18 17:57:14 903

原创 鸿蒙文件操作

模块是鸿蒙系统(HarmonyOS)中用于处理文件操作的核心基础能力,提供文件/目录管理、信息统计、流式读写等功能。

2025-11-11 21:33:55 456

原创 Mac上DevEco-Studio功能/使用介绍

右击代码区域左侧的line number显示区域 --> "Annotate with Git Blame"

2025-11-11 17:39:59 454

原创 鸿蒙三方库httpclient使用

暂无。

2025-11-07 16:41:54 173

原创 ArkTS运行时

包括:。

2025-11-06 22:05:52 184

原创 ArkTS跨语言交互

除了支持使用ArkTS开发外,开发者还可以通过Node-API实现ArkTS与C/C++(Native)的跨语言交互能力。提供了增强功能,支持更灵活的ArkTS交互和自定义对象创建。开发者可结合Node-API的扩展能力进行功能扩展,并参考。HarmonyOS的Node-API是基于Node.js社区版本的扩展实现,但与原生Node-API并不完全兼容。进行Native能力的开发和封装,并通过在ArkTS侧导入Native模块的方式实现跨语言调用。进行跨语言功能开发。

2025-11-06 22:03:41 171

原创 鸿蒙ArkTS并发编程指南

包括、、、、、。

2025-11-06 21:53:12 94

原创 常用系统对象

在鸿蒙系统开发中,‌‌用于定义对象结构,其键为字符串类型,值可为任意类型,主要用于实现属性映射和复杂数据结构管理。‌。

2025-11-04 15:34:34 173

原创 鸿蒙UI适配

目前华为系列的折叠屏手机,有华为 Mate系列(左右折叠,华为 Mate XT三折叠),华为Pocket 系列(上下折叠)。

2025-11-03 14:30:38 260

原创 鸿蒙Navigation、三方库hmrouter使用

组件导航(Navigation)主要用于实现Navigation页面(NavDestination)间的跳转,支持在不同Navigation页面间传递参数,提供灵活的跳转栈操作,从而更便捷地实现对不同页面的访问和复用。本文将从组件导航(Navigation)的显示模式、路由操作、子页面管理、跨包跳转以及跳转动效等几个方面进行详细介绍。

2025-11-01 19:22:32 799

原创 鸿蒙三方库介绍

其封装的工具涵盖了APP、设备、屏幕、授权、通知、线程间通信、弹框、吐司、生物认证、用户首选项、拍照、相册、扫码、文件、日志,异常捕获、字符、字符串、数字、集合、日期、随机、base64、加密、解密、JSON等一系列的功能和操作,能够满足各种不同的开发需求。@pura/harmony-utils 是鸿蒙生态中一个非常受欢迎的三方工具库,它通过封装大量实用的工具类,能极大地提升你的开发效率。应用级别的工具类,可获取上下文、窗口信息,设置语言、颜色模式,监听应用生命周期等。

2025-11-01 18:05:46 833

原创 鸿蒙工程结构、开发指南

在鸿蒙应用开发中,hvigor 目录与构建工具密切相关。为了帮助你快速建立整体认知,下面这个表格汇总了 hvigor 目录及其相关文件的核心信息:目录/文件主要功能关键配置文件与作用hvigor目录存储构建工具的配置和缓存信息,用于发布打包。hvigor-config.json5: 指定构建工具和插件版本。.hvigor目录存储构建过程中的临时文件和缓存。通常由工具自动管理,无需手动修改。定义应用级或Module级的编译构建任务脚本。开发者可在此自定义构建工具版本、控制构建参数。

2025-11-01 11:31:32 907

翻译 第13章:算法

一、字符串反转 void char_reverse(char* cha) { // 指向第一个字符 char* begin = cha; // 指向最后一个字符 char* end = cha + strlen(cha) - 1; while (begin < end) { // 交换前后两个字符,同时移...

2018-11-30 17:32:08 614

翻译 第12章:架构/框架

零、概述     架构/框架问题主要用于考察中高级、资深工程师。    1、为什么要在APP中引入框架?他有什么好处呢?1)、模块化2)、分层3)、解耦4)、降低代码重合度 一、图片缓存    1、怎么设计一个图片缓存框架?    2、图片通过什么样的方式进行读写,过程是怎样的?以图片URL的单向Hash值作为key进行存储。读取流程其实就是浏览器的...

2018-11-30 17:27:00 557

翻译 第11章:设计模式

一、六大设计原则     1、单一职责原则一个类只负责一件事     2、依赖倒置原则抽象不应该依赖于具体实现,具体实现可以依赖于抽象。     3、开放-关闭原则对修改关闭,对扩展开放。比如常见的就是可继承,不可修改。     4、里氏替换原则父类可以被子类无缝替换,且原有功能不受任何影响。比如kvo的实现。     5、接口隔离原则使用多个专门协议、而不...

2018-11-30 17:19:25 450

原创 第10章:网络——一、HTTP协议;二、HTTPS与网络安全;三、TCP/UDP;四、DNS解析;五、Session/Cookie

一、HTTP协议 1、你是怎么理解HTTP的?HTTP具体包含哪些内容?HTTP是超文本传输协议,主要包含三部分内容:请求/响应报文,链接建立流程,HTTP的特点。 2、请求/响应报文请求报文由请求行、header、报文内容组成。请求行包括方法、URL、协议版本。header由多个key/value组成。响应报文由响应行、header、报文内容组成。响应行包括版...

2018-11-30 17:13:52 714

翻译 第9章:RunLoop面试问题

一、概念     1、什么是RunLoop?RunLoop是通过内部维护的事件循环来对事件/消息进行管理的一个对象。     2、什么是事件循环?没有消息需要处理时,休眠以避免资源占用,此时当前线程的控制权由用户态切换到内核态;有消息需要处理时,立即被唤醒,此时状态由内核态切换到用户态。     3、应用程序的main函数为什么能一直运行不退出?因为main函数中调用了UI...

2018-11-30 16:41:25 542

翻译 第8章:多线程面试问题——一、GCD;二、NSOperation;三、NSThread;四、多线程与锁

一、GCD     1、同步/异步 和 串行/并发1)、GCD调用的四种组合    dispatch_sync(serial_queue,^{…}); 同步调用串行队列    dispatch_async(serial_queue,^{…});异步调用串行队列    dispatch_sync(concurrent_queue,^{…});    dispatch_asyn...

2018-11-30 16:35:05 930

原创 第7章:Block的使用——一、Block介绍;二、Block的本质;三、Block截获变量;四、__block修饰符;五、Block内存管理;六、Block的循环引用

一、Block介绍 1、Block是将函数及其执行上下文封装起来的对象。二、Block的本质 Block是如何将函数及其上下文封装起来的呢?下面通过源码说明。我们写一个Block的定义及调用方法,然后使用clang -rewrite-objc file.m命令查看编译之后的文件内容,来理解Block的封装、调用过程。 Block的定义及调用方法如下:...

2018-11-30 16:19:35 1047

翻译 第6章:内存管理——一、内存管理包含的内容;二、内存布局;三、内存管理方案

一、内存管理包含的内容     1、内存布局     2、内存管理方案     3、数据结构     4、ARC&MRC     5、引用计数     6、弱引用     7、自动释放池     8、循环引用 二、内存布局BSS段存储未初始化的全局变量和静态变量,一旦初始化就会从BSS段中回收掉,转存到数据段中;data段存储已经初始化的全局...

2018-11-30 15:58:15 879

翻译 第5章:运行时相关技术特性——六、动态添加方法;七、动态解析方法

六、动态添加方法     主要用到class_addMethod(要为那个类添加方法,要添加方法的SEL,方法实现,Types);,如class_addMethod(self,@selector(test),testImp,”v@:”);七、动态解析方法     1、是否使用过@dynamic@dynamic修饰属性时,属性的get、set方法是在运行时添加,而不是在编译时生成实现...

2018-11-30 15:40:27 315

原创 第5章:运行时相关技术特性——四、消息转发流程;五、Method-Swizzling

四、消息转发流程 res方法如果处理的话就涉及到动态添加方法的内容,第七小节讲解。 找找资料再整理全面一点,看图说明的不清晰、详细五、Method-Swizzling 1、什么是Method-Swizzling交换两个方法的方法实现。 2、涉及的三个方法如下图...

2018-11-30 15:40:09 482

翻译 第5章:运行时相关技术特性——二、对象、类对象与元类对象;三、消息传递

二、对象、类对象与元类对象     1、类对象和元类对象是什么?两者之间有什么区别?类对象存储实例方法列表等信息;元类对象存储类方法列表等信息。类对象通过isa指针可以找到元类对象。     2、类对象调用类方法时如果元类及祖先元类中都没有该类方法,但是根类对象中有同名的实例方法,那么该实例方法会被调用吗?会的。因为元类对象最终继承自根类对象。 三、消息传递    ...

2018-11-29 22:31:04 347

翻译 第5章:运行时相关技术特性——一、Runtime包含的内容;二、Runtime数据结构

一、Runtime包含的内容     1、Runtime数据结构     2、类对象与元类对象     3、消息传递     4、方法缓存     5、消息转发     6、Method-Swizzling     7、动态添加方法     8、动态解析方法 二、Runtime数据结构     1、Runtime基础数据结构如下objc_object...

2018-11-29 22:24:58 501

翻译 第4章:Objective-C语言相关技术特性——四、扩展;五、代理;六、通知;七、KVO;八、KVC;九、属性关键字

四、扩展      1、一般用扩展做什么?1)、声明私有属性2)、声明私有方法3)、声明私有成员变量      2、扩展的特点(与类别的区别)1)、编译时决议2)、只以声明的形式存在,多数情况下寄生于宿主类的.m文件中3)、不能为系统类添加扩展 五、代理      一般针对初级工程师考察代理,对中级及以上工程师考察的比较少。      1、代理的理解...

2018-11-29 22:17:15 1271

翻译 第4章:Objective-C语言相关技术特性——三、关联对象

1、是否能为分类添加“成员变量”?通过关联对象可以为分类添加成员变量。2、关联对象为分类添加的“成员变量”放在了哪里?关联对象由AssociationsManager管理并在AssociationsHashMap中存储。所有对象的关联内容都在同一个全局容器中。3、关联对象的本质4、源码分析   ...

2018-11-29 22:06:21 345

翻译 第4章:Objective-C语言相关技术特性——二、分类

1、用分类做了哪些事情      1)、声明私有方法      2)、分解体积庞大的类文件      3)、把Framework的私有方法公开化2、分类的特点(与扩展的区别)      1)、运行时决议:运行之前分类的方法并没有附加到宿主类中,运行时通过runtime将分类内容添加到宿主类中      2)、可以为系统类添加分类3、分类中都可以添加哪些内容     ...

2018-11-29 22:02:57 378

翻译 第4章:Objective-C语言相关技术特性——一、Objective-C语言相关技术特性

一、Objective-C语言相关技术特性      分为如下几类:      1、分类      2、关联对象      3、扩展      4、代理      5、通知      6、KVO      7、KVC      8、属性关键字...

2018-11-29 21:56:52 544

翻译 第三章UI视图——七、离屏渲染==属于GPU的优化部分

1)、On-Screen Rendering      意为当前屏幕渲染,指的是GPU的渲染操作是在当前用于显示的屏幕缓冲区中进行2)、Off-Screen Rendering      意为离屏渲染,指的是GPU在当前屏幕缓冲区以外新开辟一个缓冲区进行渲染操作3)、何时触发离屏渲染      当我们指定了UI视图的某些属性,标记为它在未预合成之前不能用于当前屏幕上直接显示时就...

2018-11-29 21:54:17 445

翻译 第三章UI视图——六、UI绘制原理&异步绘制==属于CPU的优化部分

这是高级考察点。1、UIview绘制原理步骤如下:      其中view.layer调用setNeedsDisplay方法之后只是给当前layer打上了一个脏标记,然后在当前runloop将要结束时调用layer的dispaly方法,然后进入当前视图真正的绘制流程中。2、系统绘制流程如下      在layer内部会创建一个backing store,即CGContext...

2018-11-29 21:52:47 610

翻译 第三章UI视图——五、UI卡顿、掉帧

1、UI卡顿、掉帧原因2、滑动优化方案(高级面试问题)预排版放到子线程去做      如果触发了离屏渲染,则GPU触发OpenGL的多通道渲染管线,造成额外的开销,使得进行纹理渲染的工作量就会非常大,容易造成掉帧。      如果视图层级非常复杂,则GPU进行视图混合的工作量就会非常大,因为需要合成每个像素点时需要做大量计算。...

2018-11-29 21:50:12 558

代码优化——cell重用

对于从storyboard或xib启动的vc和view,即便是父类的storyboard或xib做了复杂的界面,子类也可以继承来复用父类的代码逻辑,同时把父类的storyboard或xib复制一份并改名为子类,在已有界面的基础上继续绘制新视图。需要注意的是子类storyboard或xib中属于父类代码逻辑的子试图仍要连接到父类中。

2018-01-26

空空如也

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

TA关注的人

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