Android
&动感超人
读书笔记,不求甚解!
展开
-
贝塞尔曲线
https://www.jianshu.com/p/8f82db9556d2转载 2021-02-01 19:03:54 · 107 阅读 · 0 评论 -
Android开发——内存管理及内存泄漏分析
1、堆和栈要了解Android的内存,必须先从Java的堆和栈看起,我们先看看《Think In Java》中对它们的定义:(1)堆栈(stack):位于通用RAM中,但通过它的“堆栈指针”可以从处理器哪里获得支持。堆栈指针若向下移动,则分配新的内存;若向上移动,则释放那些内存。这是一种快速有效的分配存储方法,仅次于寄存器。创建程序时候,JAVA编译器必须知道存储在堆栈内所有数据的确切大小和生命周期,因为它必须生成相应的代码,以便上下移动堆栈指针。这一约束限制了程序的灵活性,所以虽然某些JAVA数据转载 2020-09-17 18:31:52 · 343 阅读 · 0 评论 -
Android开发——Cmakelist的使用
一、背景:Cmakelist的使用项目创建好以后我们可以看到和普通Android项目有以下4个不同。main 下面增加了 cpp 目录,即放置 c/c++ 代码的地方 module-level 的 build.gradle 有修改 增加了 CMakeLists.txt 文件 多了一个 .externalNativeBuild 目录image.png二、正文第一章:CMakeLists.txt 文件 讲解2.1 一个基本的Cmakelist文件cmake_minimum.转载 2020-09-17 12:02:53 · 4395 阅读 · 1 评论 -
Android开发——BLE蓝牙开发入门
BLE蓝牙开发入门蓝牙低能耗(Bluetooth Low Energy,或称Bluetooth LE、BLE,旧商标Bluetooth Smart)也称低功耗蓝牙,是蓝牙技术联盟设计和销售的一种个人局域网技术,旨在用于医疗保健、运动健身、信标、安防、家庭娱乐等领域的新兴应用。相较经典蓝牙,低功耗蓝牙旨在保持同等通信范围的同时显著降低功耗和成本。Android BLE 的特点是低功耗,其峰值功耗为传统蓝牙的一半,传输距离提升到100米左右,最短可在3ms内完成连接并开始数据的传输,缺点是传输的数据量较原创 2020-09-08 00:14:40 · 891 阅读 · 0 评论 -
Android开发——关于32位与64位so的加载问题
有时候会为了减少apk的大小,只设置支持“armeabi-v7a”SO库架构apk在安装的过程中,系统就会对apk进行解析根据里面so文件类型,确定这个apk安装是在32 还是 64位的虚拟机上,如果是32位虚拟机那么就不能使用64位so,如果是64位虚拟机也不能使用32位so。而64位设备可以提供32和64位两种虚拟机,根据apk选择开启哪一种,因此说64位设备兼容32的so库。具体机制,分下面四种情况:1.假设apk的lib目录放置了32和64位两种so,那么安装时根据当前设备的cp原创 2020-08-12 00:06:38 · 6293 阅读 · 0 评论 -
Android开发——Activity的生命周期与启动模式
Activity的生命周期onCreate:Activity正在被创建,可以进行一些初始化工作:setContentView加载界面布局等onRestart:Activity正在被重新启动,正常情况下从不可见变为可见状态时,onRestart会被调用onStart:Activity正在被启动,但是当前不可见;无法与用户进行交互onResume:Activity已经可见,并出现在前台活动onPause:Activity正在停止,正常情况下会接着执行stop,不可做太耗时的操作onSto原创 2020-09-08 00:15:37 · 427 阅读 · 0 评论 -
Android开发——Android Studio的NDK开发记录
1. 用第三方的so打包aar,指定jniLibs的目录,将so打包进aar sourceSets { main { jniLibs.srcDirs = ['libs'] } }2.abiFilters设置过滤ndk { abiFilters 'armeabi-v7a'}ABI 是 Application Binary Interface 的缩写;不同 Android 手机使用不同的 CPU,因此支持不同...原创 2020-07-07 19:40:00 · 323 阅读 · 0 评论 -
Android开发——JNI和NDK
ANDROID NDK(Native Develop Kit)是一套工具集合,google提供给开发者在java中调用C/C++的代码的功能,一般情况下,用NDK工具可以将C/C++代码编译成so文件,在java中通过loadlibrary加载so来使用C/C++代码。 NDK的价值:平台移植 代码复用 性能提升 代码保护 使用第三方的C、C++库JNI(java Native interface)jni 是java调用Native语言特性,通过jni使得java和c...原创 2020-06-02 19:38:50 · 354 阅读 · 0 评论