- 博客(63)
- 资源 (3)
- 收藏
- 关注
原创 Flutter中鼠标 onEnter onExit onHover 实现代码分析
生活会给你任何最有益的经历,以助你意识的演变。转载请注明出处:刘旭东-竺沐。这里对最近用到的一些 Flutter 开源的东西进行总结积累,希望能帮助到大家。
2023-12-24 17:28:15 961
原创 VR 实现 Splash Screen 效果
OCULUS : https://developer.oculus.com/documentation/unity/unity-gs-overview/PICO : https://developer-global.pico-interactive.com/document/unity/create-a-developer-account-organization-and-app/在 PICO 和 OCULUS 的 Unity 工具链中,提供了设置 Splash Scren 的方式,需要参考官方的教程将
2023-12-02 13:12:19 926
原创 Android 13 startActivity报错ActivityNotFoundException
setAction去指定action, addCategory()去指定category,还有一些其他的设置,这样我们就可以拉起我们的activity了。Android 13上只有intent匹配目标的intent-filter,这样才能拉起,所以对于Android 13 我们需要进行代码适配。查阅google官方的文档,有这么一段话,
2023-07-09 16:14:50 596
原创 c++基础学习记录
c++中如果有一些函数被频繁掉用,可以使用inline关键字定义一个方法,这样这个方法就变成了内敛函数,使用内联函数的地方会在运行的时候被替换为内联函数的方法体,通过这种方式减少函数栈的调用。原始类的定义中(包含友元类声明的那个类A.hpp),就不需要包含友元类的头文件,也不需要在类定义前去声明友元类,因为友元类的声明自身就是一种声明(它指明可以在类外找到友元类)友元类中定义的函数使用到了原始类的私有变量,那么就需要在友元类定义的文件中包含原始类定义的头文件,所以这里导入了A.hpp,int a = 0;
2023-07-02 20:24:43 218
原创 env->FindClass() ClassNotFound
上面的if (method!= nullptr) { 判断是否有Java堆栈帧,没有的话就走到下面的GetSystemClassLoader得到系统的类加载器,因此就找不到app中的类,当我们使用从c++层的线程去执行FindClass的时候会遇到上述问题,大家可以参考上面的解决方案尝试解决。在JNI调用的时候如果遇到了异常,不会立即抛出异常,当代码执行到受管理的代码时会抛出异常。什么是受管理的代码:使用 Java 或 Kotlin 编程语言编写的代码。为什么FindClass会走到系统类加载器呢?
2023-06-11 18:09:09 943
原创 ARCore AREngine获取预览图,深度图实践
官方的设备支持列表,寻找带TOF获取深度硬件支持的设备,当然更多的设备是没有深度摄像头支持的,这样的设备上我们通过ARCore的depthAPI我们获取到的图片和深度图片不匹配,因为设备没有硬件支持的话,即使调用的是full depth api,最终获取到的也是raw depthapi经过采样的数据,原始图和深度图是不成比例的,自己测试过程中发现华为手机不带深度摄像头根本拿不到深度信息,ARCore可以拿到一个depth from motion的深度图。查看Android的Media库中接口,
2023-04-16 10:26:44 599
原创 YUV基础
YUV在做手机图像或者视频处理的时候会经常用到的一个格式,用此文来记录YUV相关介绍,让项目中用到YUV不再对这个概念懵逼。链接:YUV 作为一种图像编码格式,Y表示亮度分量,UV表示色度信息:U表示蓝色部分投影,V表示红色部分投影。
2023-03-11 21:07:02 617
原创 Android - UI开发基础
spread会占用所有符合条件的空间,且因为spread时默认的layout_constraintWidth_default,所以可以不写,在使用spread属性的时候,对应方向的start,end,或者top,bottom方向都要进行设置,不然扩展属性不会生效。 浮点值,表示宽度和高度之间的比率;flow流式布局可以控制当元素个数过多形成多行的链时的显示规则,有none,chain,align等规则,同时,我们也可以控制每行显示的view的数量和每行上的view的对齐方式。
2022-10-29 23:53:29 883
原创 Android中的Drawable
文章目录Drawable介绍BitmapDrawableDrawable介绍Android中Drawable表示可以在Cances上进行绘制,和View不同的是,Drawable不会像View一样,对用户的的交互作出反馈。Drawable可以是图片,同时也可以是xml,也可以使用代码构建具体的Drawable,非图片类型的Drawable也会占用更少的存储空间。Drawable有很多的子类,比如BitmapDrawable,GradientDrawable,hapeDrawable,LayerDra
2022-06-19 20:05:32 660
原创 java运算中的精度问题
文章目录0.59f * 100 和 0.59 * 100二进制基础知识:二进制数和10进制数字的相互转换计算机对浮点数的存储避免精度丢失:两个数相除得到double类型0.59f * 100 和 0.59 * 100上面两个运算公式的运算结果如下: int a1 = (int) (0.59f * 100); System.out.println(a1); // 输出:58 int a2 = (int) (0.59 * 100); Syste
2022-05-28 10:22:52 2894 1
原创 Gradle基础
编译debug包:./gradlew assembleDebug编译release包:./gradlew assembleRelease
2022-05-01 17:36:24 3403
原创 密钥基础记录
最近在做项目的时候用到了一些密钥知识,听懵逼的,同事的解释+老板的问题才让我有点明白这个是咋回事,这里对自己涉及到的一些密码基础知识进行记录非对称加密:密钥分为加密密钥和解密密钥两种。发送者用加密密钥对消息进行加密(私钥),接收者用解密密钥对密文进行解密(公钥)非对称加密算法: RSA和RSA2RSA: 对密钥的长度不限制,推荐使用2048位以上RSA2:强制要求RSA密钥的长度至少为2048公钥和私钥在项目中的调用关系发送者接收者发送者用私钥进行加密请求数据 -&g.
2022-04-30 11:15:40 265
原创 Android 插件化基础
加载apk中的代码Android中加载apk我们可以使用DexClassLoaderA class loader that loads classes from .jar and .apk files containing a classes.dex entry. This can be used to execute code not installed as part of an application.当我们的apk或者jar没有被加载的时候,我们可以使用DexClassLoader去加载对
2021-11-07 17:27:04 1957
原创 Activity启动流程
文章目录学习Android,有的东西总是绕不过,比如Acticity的启动流程源码学习,这个之前面试的时候准备看,但是发现太复杂了,没太多时间,现在找到新工作了,接触Replugin的时候涉及到,Activity的启动,就顺道一起学习下。Activity的启动流程:当用户在界面手点击屏幕上的应用图标时,应用程序的MainActivity是由Launcher启动的, boolean startActivitySafely(View v, Intent intent, Object tag)
2021-10-30 16:14:53 247
原创 Android混淆
文章目录开启混淆ProGuard的作用混淆的基本规则开启混淆Android中配置混淆,需要在gradle中配置minifyEnabled为true,然后再混淆的配置文件中加入我们的混淆规则就可以。android { ... buildTypes { release { minifyEnabled true proguardFiles getDefaultProguardFile('proguard-android.txt'
2021-10-30 16:05:05 4692 9
原创 Android中创建Surface和TYPE_WALLPAPER类型的window
创建surface当需要自己创建一个surface的时候,首先应用必须是系统应用,因为底层的一些接口和权限只有系统应用才能获取到。创建Surface的时候我们需要下面的权限:<uses-permission android:name="android.permission.ACCESS_SURFACE_FLINGER"/>查看系统中对该权限的定义:<!-- @SystemApi Allows an application to use SurfaceFlinger's low
2021-07-24 16:23:55 687 3
原创 Android面经整理-字节
算法题:给你一个数组,判断该数组是不是二叉搜索树的后序遍历序列。(剑指offer30题)https://leetcode-cn.com/problems/er-cha-sou-suo-shu-de-hou-xu-bian-li-xu-lie-lcof/由于工作了,好久没看树方面的知识,二叉搜索树的定义有点忘了,面试后搜索定义如下:二叉查找树(Binary Search Tree),(又:二叉搜索树,二叉排序树)它或者是一棵空树,或者是具有下列性质的二叉树: 若它的左子树不空,则左子树上所有结点的值均
2021-05-19 22:55:12 212 1
原创 android知识总结
文章目录activity的启动过程(不要回答生命周期)Service的启动类锁和对象锁会冲突吗activity的启动过程(不要回答生命周期)Android中Activity的启动可以分为下面两种场景:根Activity的启动:当用户点击app图标的时候,该Activity的启动就代表了应用程序的启动。子Activity的启动:子Activity是由其它Activity拉起,子Activity有可能与拉其他的Activity运行在不同的进程中,这由自身的配置参数决定。启动对应的Activity的
2021-04-06 23:09:08 588
原创 性能优化
取消闪屏问题https://www.jianshu.com/p/654dac931667// 优化布局https://juejin.im/post/6844903453609689101https://www.jianshu.com/p/4943dae4c333
2021-03-13 10:43:05 115
原创 壁纸服务的启动过程
https://wizardforcel.gitbooks.io/deepin-android-vol3/content/8.htmlhttps://blog.csdn.net/Innost/article/details/47660645
2021-01-23 16:40:06 2789 5
原创 view实践妙用方法记录
文章目录clipToPadding属性clipChildren属性clipToPadding属性查看android中对该属性的注释Defines whether the ViewGroup will clip its children and resize (but not clip) anyEdgeEffect to its padding, if padding is not zero. This property is set to true bydefault.自己理解这段话为:该属
2020-12-27 18:38:15 370
原创 BitmapFactory.Options中参数使用
文章目录使用场景使用方式代码使用场景android开发的过程中,很多时候我们所需要的图片大小比原图小,这时候我们就没有必要加载原图进行显示毕竟大图占用的内存要大。使用方式使用BitmapFactory.Options的inSampleSize来调整图片的尺寸,查看inSampleSize的官方注解,inSampleSize当采样率大于一的时候 ,长和宽对应变为原来的 1/inSampleSize,对应的像素数量减少 1/(inSampleSize^2),bitmap的大小相应的也缩小为 1/(i
2020-10-11 16:24:46 1719 2
原创 Android Scroller实现弹性滑动
首先看下实现效果,可以看到当我们手指松开时图片会逐渐滑动到初始位置,而不是直接跳变到中心点。代码实现当手指触摸到view上时即TouchEvent位MotionEvent.ACTION_DOWN时,记录开始的坐标位置,同时由于手指再次按到屏幕上的的时候view还在执行动画,所以当动画还在执行的时候我们需要将动画停止。 if (!mScroller.isFinished()) { mScroller.abortAnimation()
2020-07-12 14:28:27 461 2
原创 Android 中的四种启动模式 和 Intent中Flag的使用
https://blog.csdn.net/u011240877/article/details/71082720https://blog.csdn.net/u010389391/article/details/78558475
2020-06-14 17:03:50 899
原创 Java8-Stream学习记录
Stream是什么?Stream(流)是一个来自数据源的元素队列并支持聚合操作(见下面的描述)聚合操作 类似SQL语句一样的操作, 比如filter, map, reduce, find, match, sorted等。在使用Stream的时候有两个需要了解的基础概念Pipelining(管道): 中间操作都会返回流对象本身。 这样多个操作可以串联成一个管道, 如同流式风格(...
2020-01-18 22:24:52 156
原创 Lambda表达式学习
参考地址:菜鸟教程Lambda表达式学习https://www.runoob.com/java/java8-lambda-expressions.htmlLambda表达式将函数作为一个方法的参数。这样使得我们的代码可以变得更加简洁。lambda表达式的四个特点可选类型声明:不需要声明参数类型,编译器可以统一识别参数值。可选的参数圆括号:一个参数无需定义圆括号,但多个参数需要定义圆括...
2019-12-22 16:02:21 168
原创 optional学习
https://blog.csdn.net/qq_28393323/article/details/81003964https://www.jianshu.com/p/71e599f8f07ahttps://www.runoob.com/java/java8-optional-class.html
2019-12-14 17:10:17 192
原创 Fragment
Fragment是Android 3.0 引入的新的 API ,Fragment代表了Activity的子模块,Fragment必须被嵌入到Activity中使用,虽然Fragment有着自己的声明周期,但是Fragment的声明周期受着它所在的Activity的生命周期的控制。例如,当Activity被暂停的时候,所有的Fragment都会暂停;当Activity被销毁的时候,所有的Frag...
2019-12-08 22:00:39 89
WindowsUpdateDiagnostic.diagcab
2018-01-31
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人