基于 Android 图解 ReactNative 原理,深度好文。(编写中...)目录:RN 的优点和缺陷RN 的启动流程Java、Js 的调用流程 1. RN 的优点和缺陷优点:最大的优点是合理简单不具备黑科技的热更新能力和媲美 Native 般的 UI 体验;对比原生开发更为灵活,对比 H5 体验更为高效;多个版本迭代后的今天,它已经拥有了丰富的第三方插件支持。缺点:底
转载
2024-01-11 17:24:50
110阅读
adb(Android Debug Bridge)是Android 提供的一个通用的调试工具,借助这个工具,可以管理设备模拟器的状态 。还可以进行以下的操作: 1、快速更新设备或手机模拟器中的代码,如应用或Android系统升级; 2、在设备上运行shell命令; 3、管理设备或手机模拟器上的预定端口; 4、在设备或手机模拟器上上传下载文件  
转载
2024-06-21 18:48:28
20阅读
Android应用程序是用Java语言编写的。编译过后的字节码,以及应用程序要求的其他数据和资源文件,通过aapt工具被绑定在一起,称为Android包,这是一个带.apk后缀的档案文件。这个文件也是用户下载到他们设备上的文件。所有的代码在一个单一的.apk文件中,组成一个“应用程序”。从许多方面来说,每个Android应用程序存活在它们自己的世界中:q &nbs
转载
2023-08-18 16:50:51
52阅读
目录1 相关知识点2 渲染机制2.1 渲染流程参考文章 1 相关知识点CPU:中央处理器,它集成了运算、缓冲、控制单元包括绘图功能等。CUP将对象处理为多维图形、纹理(Bitmaps,Drawables等都是一起打包到统一的纹理)。GPU:一个类似于CPU的专门用来处理图形的处理器,作用是用来帮助快速栅格化操作,GPU也有相应的缓存数据(例如缓存已经栅格化的bitmap等)机制。OpenGL E
转载
2023-08-31 01:17:06
169阅读
导语: 其实原本是想编写一篇 react-native (下文简称 rn) 在 iOS 中如何实现 jsbridge 的文章;相信看过官方文档的同学都清楚 rn 和 iOS 通信使用了一个叫RCTBridgeModule的模块去实现。但是不知怎么呢?为了查阅其通信的原理,编写了一篇ReactNative 与 iOS 原生通信原理解析-初始化; 由于篇幅过长,我们还未讲解 JS 代码的加载和执行;下
转载
2023-08-22 20:22:03
273阅读
关于消息转发机制可能用到的也不是很多,但是在这里也记录下,它的几个用法。如果我们想让一个类没有实现的方法想让另一个类去做,其实就要用到消息转发的机制了。就好比我们有一个Person类,如果这个类声明了eat方法但是没有去实现这个eat方法,然后我们在创建一个Person类对象的时候,然后去调用eat方法,程序毫无疑问会崩溃。关于消息转发首先有几个方法我们需要去知道的就是下面的这几个方法//这个是消
转载
2024-05-28 10:20:53
41阅读
提到RN通信,大家并不会陌生,即JS、C++之间的通信与C++、Native之间的通信。对于JS与C++的互调会在后续的文章中讲解,本篇文章主要带大家一起了解下 C++与Native 的通信实现机制。我们知道 C++与Java 的通信是借助于JNI来完成的,那么什么是JNI呢?说到JNI,这里有两个比较重要的概念需要先提一下:静态注册(被动注册) 与 动态注册(主动注册)。因为像RN这样以JNI为
转载
2024-06-25 17:52:22
81阅读
内存管理是任何编程语言中最重要的过程之一。它是在需要时分配对象的内存并在不再需要时取消分配的过程。管理对象内存是一个性能问题; 如果应用程序不释放不需要的对象,则应用程序会因内存占用增加并且性能受损。Objective-C内存管理技术大致可分为两类 -“手动保留或释放”或MRR“自动参考计数”或ARC1. “手动保留释放”或MRR在MRR中,通过跟踪自己的对象来明确管理内存。这是使用一个称为引用计
转载
2023-09-24 05:44:42
78阅读
工具:参考官网上的工具,一定要按照官网上工具“版本”下载,为了避免一些不必要的麻烦,切记切记!android studio本人采用的是3.4.2的版本,其余都是官网上推荐的版本。采用的API是29!!!(低版本的AS和低版本的API出现莫名其妙的错误,把我拖死了一个礼拜,天天改bug,换成上面的AS和api后直接编译过去,我真的是TMD,GRD!步骤: 第一步:最好自己编写package.json
转载
2023-11-20 06:06:36
73阅读
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 的渲染流程主要分为以
# Android React Native(RN)概述
Android React Native(RN)是一种流行的跨平台移动应用开发框架,允许开发人员使用JavaScript和React构建原生移动应用。RN的主要优点是提高了开发效率,可以同时开发iOS和Android应用,同时仍保持原生性能。
## 为什么选择Android React Native?
- **跨平台**:使用RN可以
原创
2024-02-25 03:49:36
54阅读
开发工具:Android Studio , WebStorm参考链接:React Native官方中文文档一.创建React Native项目1.在本地React Native项目目录下,创建一个文件夹,取名为为ReactApp[名字随便取]2.在ReactApp文件夹下,创建一个名为android文件夹【注:小写】,并将你现有的Android项目拷贝到/android子目录中。3.在ReactA
转载
2023-08-17 13:03:54
124阅读
什么是 Tinker?Tinker 是一个开源项目(Github链接),它是微信官方的 Android 热补丁解决方案,它支持动态下发代码、So 库以及资源,让应用能够在不需要重新安装的情况下实现更新。热更新方案比较当前市面的热补丁方案有很多,其中比较出名的有阿里的 AndFix、美团的 Robust 以及 QZone 的超级补丁方案。1、AndFix作为native解决方案,首先面临的是稳定性与
转载
2023-10-19 10:35:17
104阅读
1 前言之前写过一篇RN的环境搭建教程和新建一个新的RN项目的文章 但是其实在实际开发中,在已有的android项目中集成RN情况更普遍,这篇文章就是一个怎么在已有Android项目中引入RN的例子2 集成步骤首先搭建好Android开发环境,并有一个新建的或者已经存在的Android项目 在未创建ReactNative项目大概是这个样子 接着创建ReactNative Module用于存
转载
2023-07-24 23:04:21
243阅读
拆解需求 1. RN使用 2. 播放器最终实现的播放器功能:可以提供给RN使用,不带边缓存边播放功能的播放器。1. RN使用实现以组件的形式提供给RN使用,至于组件和native如何交互,主要通过重写RN的ViewGroupManager<T>实现。泛型传入的就是RN组件包装的native内部实现的播放器的view(player view)。RN组件向native通信:重写receiv
转载
2024-03-30 21:27:30
36阅读
# RN Android给RN传值实现流程
## 1. 概述
在React Native (RN)开发中,我们经常需要在Android原生代码和RN代码之间传递数据。本文将介绍如何在Android原生代码中向RN传递值,并提供了详细的步骤和代码示例。
## 2. 流程图
```mermaid
flowchart TD
A[Android原生代码] --> B[传递数据到RN]
原创
2023-11-19 14:47:28
190阅读
最近听说最多的是Android岗位坑很少,不然就是坑少的同时没坑跳。哎,程序员道路艰辛,且行且珍惜呀~今天给大家分享一篇关于混合开发的文章: 如何在现有的Android项目中集成React Native。如果此时你还没有跳入RN的坑,那么这篇文章可能对你来说有些锦上添花了,哈哈~~ok,坐稳我们开车。我会以流水账的形式来向大家详细介绍如何实现,仔细看清楚步骤即可。1.创建Android工程:Rea
转载
2023-12-23 23:18:40
192阅读
文章写的不是很好,各位大佬不要嘲笑我。希望小弟的文章能给到那么一丢丢的灵感。最近集成rn,遇到了不少的坑,在此总结一下。1.安装必要依赖node这里建议大家不要安装最新版本的Node.js,如果react native太低的而node太高的话,会出现版本过高问题,然后出现一系列看不懂的错误。由于我自身的android项目build版本过低,所以安装react native的时候我安装的是0.55.
转载
2024-01-12 09:32:19
102阅读