android native开发

ops/2025/2/12 8:03:11/

framwork 一些重要的流程都是要放到native中做的
原因也很简单,效率,尤其是针对性能优化方面的,更离不开native开发

目前针对native开发也回顾下,总结下经验
1 jni开发有两种,app端一般是静态模式,要有java的方法名称和jni层有严格的对应的关系
   一般是jni对应的规则:包名+类名+方法名
   还有一种是动态注册模式,c++层有一个动态映射表,一般用在framwork端
2  c、c++ 和java的几个不同的语法,主要有五个地方,如果掌握这些,基本上看代码都是没什么    难度的: 作用域,指针,引用,预处理器指令,线程
   2.1  作用域就是类似java的包,只是c++里面的类使用要显示的加作用域符才能使用该作用域里       面的类,对象的东西
   2.2 引用就是java里面的引用的含义,也可以理解为地址的别名
   2.3 指针就是一个指向地址的变量,是变量这个也是和引用的区别,另外指针的符号 * 声明的时     候是指针,使用的时候是
   取值,取该地址的值。android 这里对指针进行了封装,sp,wp,可以部分实现自动释放内存的     功能
   2.4 预定义:就是一些 宏定义、条件编译、头文件,主要针对 源代码转换为可编译形式的阶段
   #define,#undef
   #ifdef, #ifndef,好多都是成对出现
   2.5 线程,c++是 pthread库,但android 对此进行了封装
   android framwork中封装后的线程核心方法就是:threadLoop() 一个循环
   还有 readyToRun,onFirstRef等生命周期。

   这里只能说个大概,想要具体仍然需要针对单个知识点进行详细搜索并学习
 3 native常用报错总结
    这个目前还没有大的错误,小的错误都是自己不熟悉造成的,以后有了再加上吧


http://www.ppmy.cn/ops/36524.html

相关文章

Azure AKS日志查询KQL表达式

背景需求 Azure(Global) AKS集群中,需要查询部署服务的历史日志,例如:我部署了服务A,但服务A的上一个版本Pod已经被杀掉由于版本的更新迭代,而我在命令行中只能看到当前版本的pod日志&#xff…

《QT实用小工具·五十九》随机图形验证码,带有一些可人的交互与动画

1、概述 源码放在文章末尾 该项目实现了可交互的动画验证码控件,趣味性十足: 字符变换动画 噪音动画 可拖动交互 项目demo演示如下所示: 项目部分代码如下所示: #ifndef CAPTCHAMOVABLELABEL_H #define CAPTCHAMOVABLELABEL…

为什么现在散户在加密市场赚不到钱了?

为什么总有人说这个周期已经结束了?为什么每个人都感到痛苦?我们可以将所有问题归结为:在当前的市场结构下,散户再也赚不到真正的钱了。 关于回归本源、摆脱当前周期的一些杂谈 为什么本轮行情中没有散户的身影,答案…

纯血鸿蒙APP实战开发——短视频切换实现案例

短视频切换实现案例 介绍 短视频切换在应用开发中是一种常见场景,上下滑动可以切换视频,十分方便。本模块基于Swiper组件和Video组件实现短视频切换功能。 效果图预览 使用说明 上下滑动可以切换视频。点击屏幕暂停视频,再次点击继续播放…

Vulnhub项目:ICA: 1

1、靶机介绍 靶机地址:ICA: 1 ~ VulnHub 2、渗透过程 首先,部署好靶机后,进行探测,发现靶机ip和本机ip,靶机ip156,本机ip146。 然后查看靶机ip有哪些端口,nmap一下。 出现22、80、3306端口&a…

PHP 匿名函数和闭包在数据结构中的应用

匿名函数和闭包在数据结构处理中的应用php 中的匿名函数和闭包可用于处理数组、链表和队列等数据结构。针对数组,匿名函数可用于过滤元素;针对链表,闭包可用于创建节点;针对队列,匿名函数和闭包可实现 fifo 队列操作。…

Python基础学习之装饰器

大家好,今天我想和大家分享一下Python中一个非常强大且优雅的特性——装饰器(Decorators)。装饰器在Python中是一种高级语法,它允许你在不修改函数或类的情况下,为其添加额外的功能。这不仅让代码更加整洁,…

Vue2之路由跳转传参中文问题处理

Vue2之路由跳转传参中文问题处理 文章目录 Vue2之路由跳转传参中文问题处理1. 问题描述1. 当前vue组件2. 跳转到的vue组件3. 出现的错误 2. 解决方法1. 当前vue组件2. 跳转到的vue组件 1. 问题描述 在el-table中的记录列表中放置了一个 操作按钮,点这个按钮时可以新…