实现简易的Parcel内存共享
要实现类似Parcel的内存共享,其思路为通过jni在cpp层创建对象,将该对象的指针地址保存到java层,然后通过native方法去操作该块内存。Java层定义的Parcel:[highlightlanaguage="…
要实现类似Parcel的内存共享,其思路为通过jni在cpp层创建对象,将该对象的指针地址保存到java层,然后通过native方法去操作该块内存。Java层定义的Parcel:[highlightlanaguage="…
Splitties介绍在过去的19年12月初,Kotlin项目组下多达15kstar的Anko项目宣布被废弃。在宣布废弃的文章中,Anko强推了项目Splitties。Splitties是小型Kotlin跨平台库的集合(…
假如app需要将图片放到第三方服务器,为了防止图片泄密,可以对图片进行加密;加密思路:把每个字节拿出来,对每个字节都处理。或者把某部分拿出来进行处理。文件加密可以通过fgetc方法和fputc方法将文件的单个字节取出修改…
在下面定义的结构体中,int占用4字节,double占用8字节,而打印出来结构体的大小却为16字节:[highlightlanaguage="C"]#include<stdlib.h>#include<…
CupertinoActionSheet是iOS风格的模式底部Dialog列表。向用户显示与当前上下文相关的一组两个或更多选项的选择提示;[highlightlanaguage="Dart"]classCupertino…
在Flutter中设计风格主要为MaterialDesign风格,Flutter也支持IOS设置风格Cupertino的一系列Widget,分别对应flutter的包下的material目录下的dart文件和cupert…
Coroutines提供了异步和非阻塞行为,但又不缺乏可读性。使用协程执行网络请求,而不会阻塞线程,也不用使用回调。对于网络请求库,Retrofit已经支持协程。阻塞请求如下是使用Retrofit对Github执行HTT…
尽管Dart是单线程语言,但它支持Future、Stream等其他内容。本文介绍了Dart支持后台工作的基础:Isolate和事件循环。Isolate所有Dart代码都在isolate中运行程序。它就像是机器上的一个小空…
泛型在List的API文档中,该类型实际上是List<E>。<…>标记将List标记为通用(或参数化)类型-具有正式类型参数的类型。按照惯例,大多数类型变量都具有单字母名称,例如E,T,S,K和V…