提到RN通信,大家并不会陌生,即JS、C++之间的通信与C++、Native之间的通信。对于JS与C++的互调会在后续的文章中讲解,本篇文章主要带大家一起了解下 C++与Native 的通信实现机制。我们知道 C++与Java 的通信是借助于JNI来完成的,那么什么是JNI呢?说到JNI,这里有两个比较重要的概念需要先提一下:静态注册(被动注册) 与 动态注册(主动注册)。因为像RN这样以JNI为
转载
2024-06-25 17:52:22
74阅读
前言 RAC,全称是ReactiveCocoa,RAC就是一个简化代码的第三方库ReactiveCocoa;是函数式编程和响应式编程的结合。函数式编程的第一个特点就是可以把函数作为参数传递给另一个函数,第二个特点就是可以返回一个函数,这样就可以实现。响应式编程是一种面向数据流和变化传播的编程范式。这意味着可以在编程语言中很方便地表达静态或动态的数据流,而相关的计算模型会自动将变化的值通过数据流进
转载
2024-07-03 07:13:42
100阅读
基于 Android 图解 ReactNative 原理,深度好文。(编写中...)目录:RN 的优点和缺陷RN 的启动流程Java、Js 的调用流程 1. RN 的优点和缺陷优点:最大的优点是合理简单不具备黑科技的热更新能力和媲美 Native 般的 UI 体验;对比原生开发更为灵活,对比 H5 体验更为高效;多个版本迭代后的今天,它已经拥有了丰富的第三方插件支持。缺点:底
转载
2024-01-11 17:24:50
110阅读
关于消息转发机制可能用到的也不是很多,但是在这里也记录下,它的几个用法。如果我们想让一个类没有实现的方法想让另一个类去做,其实就要用到消息转发的机制了。就好比我们有一个Person类,如果这个类声明了eat方法但是没有去实现这个eat方法,然后我们在创建一个Person类对象的时候,然后去调用eat方法,程序毫无疑问会崩溃。关于消息转发首先有几个方法我们需要去知道的就是下面的这几个方法//这个是消
转载
2024-05-28 10:20:53
41阅读
导语: 其实原本是想编写一篇 react-native (下文简称 rn) 在 iOS 中如何实现 jsbridge 的文章;相信看过官方文档的同学都清楚 rn 和 iOS 通信使用了一个叫RCTBridgeModule的模块去实现。但是不知怎么呢?为了查阅其通信的原理,编写了一篇ReactNative 与 iOS 原生通信原理解析-初始化; 由于篇幅过长,我们还未讲解 JS 代码的加载和执行;下
转载
2023-08-22 20:22:03
273阅读
内存管理是任何编程语言中最重要的过程之一。它是在需要时分配对象的内存并在不再需要时取消分配的过程。管理对象内存是一个性能问题; 如果应用程序不释放不需要的对象,则应用程序会因内存占用增加并且性能受损。Objective-C内存管理技术大致可分为两类 -“手动保留或释放”或MRR“自动参考计数”或ARC1. “手动保留释放”或MRR在MRR中,通过跟踪自己的对象来明确管理内存。这是使用一个称为引用计
转载
2023-09-24 05:44:42
78阅读
Objective-C 的本质Objective-C —> C/C++ —> 汇编语言 —> 机器语言 Objective-C 是基于 C/C++ 的数据结构实现的。 将 Objective-C 代码转化为 C/C++代码:xcrun -sdk iphoneos clang -rewrite-objc -arch arm64 main.m -o main.cpp模拟器(i386)
转载
2024-07-02 07:27:21
58阅读
iOS底层原理探究- NSObject 所占内存面向对象的Objective-C我们平时写的 OC 代码底层实现为 C/C++ 代码,因为 Runtime 让 OC 具备了面向对象的特点,而后底层的 C/C++ 会转换成底层的 汇编 代码,最终被被解析成计算机能识别的 机器语言 。而 OC 中的类,正是正是基于 C/C++ 的结构体实现的。我们可以通过 clang 命令将我们平时所写的 OC 代码
转载
2023-08-30 22:43:15
88阅读
# React Native 渲染原理解析
React Native 是一个实现跨平台移动应用的框架,它允许开发者使用 JavaScript 和 React 来构建原生应用。理解其渲染原理对开发高效、流畅的应用至关重要。在这篇文章中,我们将深入探讨 React Native 的渲染机制,并通过代码示例和可视化图表来对其进行说明。
## 渲染流程
React Native 的渲染流程主要分为以
文章目录综述1 一个oc对象的内存大小2. OC对象内存2.1 NSObject 的对象2.2 自定义对象2.3 复杂继承3. OC中操作系分配的内存都是16的倍数4. oc 对象的分类4.1 实例对象(instance)4.2 类对象(class)4.3 元类对象(meta-class)5. sizeof 综述objective-c 的代码(clang -rewrite-objc mian.m
转载
2023-08-09 23:03:51
238阅读
RNN(Recurrent Neural Network),中文称循环神经网络,是一种在NLP,时间序列等领域中常用的深度学习模型。本文将为大家展示RNN的结构以及它的基本原理。
我们从一个例子开始。
小明午饭吃什么 小明喜欢吃三种食物,火锅、面条和饺子,他午饭会依次吃这三种,比如第1天吃火锅,那么第2天就吃面条,第3天吃饺子,第4天再吃火锅,以此类推。 要知道
转载
2023-10-31 15:23:57
89阅读
文章目录1.oc对象的本质2.instance、class、meta-class.3.isa、superclass.4.面试题 1.oc对象的本质我们平时编写的Objective-C代码,底层实现其实都是C\C++代码。所以Objective-C的面向对象都是基于C\C++的数据结构实现的。如果我们想将研究其底层就要先转换为C/C++文件。将Objective-C代码转换为C\C++代码
文章目录一、基本定义一、类对象的解析一、ISA指针指向解析1.2.3. 影响对象内存的因素二、元类的继承类关系1. 位域的定义2. 联合体的定义3. 结构体和联合体的区别三、内存平移的概念1. 要点2. 通过isa地址获取类对象的内存地址四、 实例方法、属性的存储位置分析五、问题六、用到的指令七、其它 一、基本定义类对象:即类,oc中用@interface 定义。大多数的类对象继承自NSObj
转载
2023-07-25 08:04:26
124阅读
最近在要把IOS原生端的百度人脸离线采集SDK移植到React-Native上,就学习了IOS原生平台与RN之间的通信机制。做了一个Demo,现在把知识点梳理了一下,主要有以下两个:(1)RN调用IOS原生平台的方法,并传递参数。(2)IOS原生平台向RN发送事件,并传递参数。Demo主要业务流程如下:(1)RN端跳转到IOS原生页面(我们假设这个是人脸识别页面)。这一步就是实现RN调用IOS原生
转载
2023-08-16 15:50:36
285阅读
iOS 底层探索篇 —— KVC 底层原理1. Method Swizzling的坑与应用1.1 method-swizzling 是什么?1.2 坑点坑点1:method-swizzling使用过程中的确保执行一次解决方案坑点2:子类没有实现,父类实现了解决方案坑点3:父类子类都没有实现解决方案class_replaceMethod, addMethod, method_exchangeImp
转载
2023-08-03 23:21:56
71阅读
IOS操作系统的层次架构:系统包含~层~层包含~框架~框架包含接口~接口~提供方法,功能 1)最底层的核心操作系统层(Core OS)该层包含6个框架:1)Accelerate 加速框架、2)Core Bluetooth Framework(核心蓝牙框架)、3)External Accessory Framework(外部附件框架)、4)Generic Security Service
转载
2023-08-27 13:52:10
122阅读
OC是一种动态性比较强的语言,所有的函数调用都是基于消息机制;简介参照: 文章目录1. isa指针1.1 简述1.2 在看isa之前先熟悉两个知识点`位域`和`共用体union`1.3 `isa`结构体的成员的含义:1.4 isa扩展Class2. `objc_msgSend(id,SEL);`OC中的方法调用2.1 简述2.2 执行阶段:消息发送2.3 执行阶段:动态方法解析 (dynamic
转载
2023-09-12 15:41:43
90阅读
block是什么?block其实是一段代码块,其作用是保存一段代码块,在真正调用block的时候,才执行block里面的代码。在程序里面输入inlineBlock,就可以得到block的声明与定义形式:/**
等号前面是block的声明;
等号后面是block的定义;
returnType:block声明的返回类型
blockName:block的名字
parameterTypes:bl
React-Native是一门用于开发移动应用程序的开源技术。随着原生开发Android和IOS移动应用的成本越来越高,很多企业选择使用跨平台一站式开发的React-Native(简称RN)作为替代方案。在Facebook的引领下,国外很多大厂也纷纷使用RN来开发移动应用程序,构建出世界一流的原生APP。值得一提的是,虽然RN是开源的技术,但是Facebook在 'React 的专利许可证'&nb
转载
2024-07-10 13:04:44
62阅读
IoC —— Inversion of Control1.概念IoC控制反转,把对象的创建和互相引用交给Spring管理,从而降低代码耦合度。2.底层原理核心工厂模式xml解析反射IoC过程xml配置文件,配置要创建的对象<bean id = " " class = " com.xxx.xxx "></bean>创建工厂类,通过反射返回对象class UserFactory
转载
2024-04-10 22:08:11
41阅读