提到RN通信,大家并不会陌生,即JS、C++之间通信与C++、Native之间通信。对于JS与C++互调会在后续文章中讲解,本篇文章主要带大家一起了解下 C++与Native 通信实现机制。我们知道 C++与Java 通信是借助于JNI来完成,那么什么是JNI呢?说到JNI,这里有两个比较重要概念需要先提一下:静态注册(被动注册) 与 动态注册(主动注册)。因为像RN这样以JNI为
前言  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 文章;相信看过官方文档同学都清楚 rniOS 通信使用了一个叫RCTBridgeModule模块去实现。但是不知怎么呢?为了查阅其通信原理,编写了一篇ReactNative 与 iOS 原生通信原理解析-初始化; 由于篇幅过长,我们还未讲解 JS 代码加载和执行;下
内存管理是任何编程语言中最重要过程之一。它是在需要时分配对象内存并在不再需要时取消分配过程。管理对象内存是一个性能问题; 如果应用程序不释放不需要对象,则应用程序会因内存占用增加并且性能受损。Objective-C内存管理技术大致可分为两类 -“手动保留或释放”或MRR“自动参考计数”或ARC1. “手动保留释放”或MRR在MRR中,通过跟踪自己对象来明确管理内存。这是使用一个称为引用计
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 代码
# 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天再吃火锅,以此类推。  要知道
文章目录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
最近在要把IOS原生端百度人脸离线采集SDK移植到React-Native上,就学习了IOS原生平台与RN之间通信机制。做了一个Demo,现在把知识点梳理了一下,主要有以下两个:(1)RN调用IOS原生平台方法,并传递参数。(2)IOS原生平台向RN发送事件,并传递参数。Demo主要业务流程如下:(1)RN端跳转到IOS原生页面(我们假设这个是人脸识别页面)。这一步就是实现RN调用IOS原生
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
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
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阅读
  • 1
  • 2
  • 3
  • 4
  • 5