- 博客(122)
- 资源 (2)
- 收藏
- 关注
原创 Compose动画
4.属性集动画效果(AnimationSet)不同时开始:使用挂起函数,以不同的时间调用。4.2 动画是否具有一组预定义的目标值。是否第三方动画框架:Lottie动画。在内容不同的多个可组合项之间切换。(即将推出重新排序和删除功能)没有状态管理的单次动画?3.2 属性添加动画效果。
2024-09-21 14:07:14 391
原创 CMake
AS 2.2以后,安卓NDK内置的交叉编译推荐使用Cmake。因此需要熟悉一下Cmake编译方式。Cmake使用的编译脚本文件为CMakeLists.txt。
2024-08-24 10:51:14 179 1
原创 Flutter第十五弹 Flutter插件
在flutter中,一个插件叫做一个package,使用packages的目的就是为了达到模块化,可以创建出可被复用和共享的代码,这和大多数编程语言中的模块、包的概念相同。创建出来的package可以在pubspec.yaml中直接依赖。
2024-06-27 11:06:05 443
原创 Flutter第十三弹 路由和导航
路由(Route)在移动开发中通常指页面(Page),在Android中通常指一个Activity。所谓路由管理,就是管理页面之间如何跳转,通常也可被称为导航管理。这和原生开发类似,无论是Android还是iOS,导航管理都会维护一个路由栈,路由入栈(push)操作对应打开一个新页面,路由出栈(pop)操作对应页面关闭操作,而路由管理主要是指如何来管理路由栈。路由通常通过维护一个路由表,建立页面导航表。
2024-06-19 15:49:50 351
原创 Handler通信机制
目标:1.Handler和Looper什么关系?2.一个线程有几个Handler?3.Handler内存泄漏的原因?4.使用Message时如何创建它?5.子线程维护的Looper, 消息队列无消息时的处理方案是怎么样的?有什么用?6.为什么主线程可以new Handler?如果想要在子线程new Handler,应该怎么办?7.线程间通信原理是怎么样的?8.Looper死循环为什么不会导致应用卡死?
2024-06-11 15:27:57 538
原创 阻塞队列和线程池
队列已经满的时候,往队列塞数据的时候阻塞队列为空的时候,往外拿取元素的时候阻塞有界:队列长度是有限的,满了以后生产者就会阻塞无界:队列长度是无限的,可以不停的往里添加东西而不会阻塞。
2024-06-10 17:10:08 223
原创 线程和进程
应用程序是指为完成某项或多项特定工作的计算机程序,它运行在用户模式,可以和用户进行交互,具有可视的用户界面。应用程序通常又被分为两部分:图形用户接口(GUI)和引擎。线程是CPU调度的最小单位。线程不能独立存在,必须依赖于进程。
2024-06-10 07:54:28 3572
原创 JVM对象分配和垃圾回收机制
new 创建一个对象,需要在JVM创建对象。符号引用:目标对象采用一个符号表示,类A加载的时候,如果成员变量类B还没有被加载进来,采用一个符号(字面量)来表示,这种引用就称为符号引用。直接引用:真实地址。检查加载的时候,检查类B是否加载,已加载的话,将符号引用修改为直接引用。
2024-06-06 11:33:23 848
原创 Android Studio gradle下载失败
Android Studio下载Gradle插件总是出现网络超时问题。其他版本的镜像,也可以替换为相应版本。替换为国内版本的镜像。
2024-06-04 08:55:19 371
原创 Java Agent利器
JavaAgent是一种特殊的Java程序,是Instrumentation的客户端。它与普通Java程序通过main方法启动不同,JavaAgent并不是一个可以单独启动的程序,它必须依附在一个Java应用程序(JVM)上,与主程序运行在同一个进程中,通过Instrumentation API与虚拟机交互。
2024-06-02 21:40:18 373
原创 Oracle创建表空间
怎么删除临时数据库呢?删除临时表空间:这里,是你要删除的临时表空间的名称。表示同时删除表空间包含的所有内容和数据文件。表示级联删除依赖于表空间中对象的所有约束。
2024-06-02 10:25:26 668
原创 Navicat连接Oracle
Oracle IPC (Inter-Process Communication) 监听协议是指Oracle数据库进程间通信所使用的协议。Oracle数据库的实例可以通过IPC协议进行进程间的通信,以便进行例如会话管理、连接管理等操作。在Oracle中,IPC监听协议通常是通过本地连接(也称为共享内存)实现的,这意味着客户端和服务器可以通过在同一台机器上的共享内存段进行通信。如果您想要配置Oracle的IPC监听协议,您需要确保您的Oracle数据库已经安装并正确配置。
2024-06-01 00:36:05 2985
原创 MQTT接收和发送消息频繁中断
对于一个客户端mqtt消息接收使用的clientid和消息接收的clientid相同。接收端和客户端启动的时候都是长连接,接收端实现的是MessageProducer,客户端实现的是Lifecycle。如果客户端id不一样的话,接收数据和发送数据执行的时候会断开重连,直到完全断。
2024-05-30 10:55:47 274
原创 Compose第二弹 导航+多页面
null,) {NavHost(},modifier在NavHost中定义路由定义,需要定义一个路由导航控制器,NavHostController初始导航页面:startDestination,初始导航的目标页面builder路由表构建器,定义路由表的构建。
2024-05-29 15:49:03 308
原创 Compose第一弹 可组合函数+Text
定义包含文本显示的MessageCard")可以看出,Compose的UI系统不再依赖XML布局,以及布局编辑器。
2024-05-29 15:21:16 1148 1
原创 git submodule的使用
移除.gitsubmodule中的子模块。删除 .git/config中的子模块定义。如果是希望克隆到项目下的指令路径,一、添加submodule。克隆子项目到当前项目目录下。二、移除submodule。
2024-05-17 17:25:26 217
原创 大模型llama.cp编译
一般配置SSH KEY,然后采用SSH克隆。一、大模型部署工具 llama.cpp。二、使用 llama.cpp 量化模型。2.1 克隆llama.cp。克隆项目,然后进行一次编译。提示缺少 ccache,安装。安装完成以后,再次make。
2024-04-26 18:42:31 856
原创 Android Studio注释
SharePreferences--》File and code Templates ->includes --> 添加 --》File Header。
2024-04-14 18:58:48 597 1
原创 Okhttp全链路监控
目标:1).监控网络请求的各个阶段2)获取每一个阶段的耗时和性能,用于性能分析。包括dns解析,socket连接时间,tls连接时间,请求发送时间,服务器接口处理时间,应答传输时间,应答数据处理时间等。
2024-04-12 17:28:14 829
原创 Flutter第八弹 构建拥有不同项的列表
目标:1)项目中,数据源可能涉及不同的模版,显示不同类型的子项,类似RecycleView的itemType, 有多种类型,列表怎么显示?2)不同的数据源构建列表。
2024-04-11 20:25:16 416
原创 Flutter第六弹 基础列表ListView
使用标准的 ListView 构造方法非常适合只有少量数据的列表。我们还将使用内置的 ListTile widget 来给我们的条目提供可视化结构。ListTile相当于列表项 Item,可以定制列表项内容。
2024-04-07 09:16:06 433
Head First 设计模式
2017-09-27
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人