移动开发

Android View 知识体系

工作原理 Android 中通过 Window 作为屏幕的抽象,而 Window 的具体实现类是 PhoneWindow 。通过 WindowManager 和 WindowManagerService 配合工作,来管理屏幕的显示内容。 WindowManager 内部真正调用的是 WindowManagerGobal 方法,添加视图的是 addView 方法。在WindowManagerGoba

Block源码解析

block源码 源码 如图所示一个正常block底层被编译成了 __main_block_impl_0结构体,该结构体里包括 _block_impl里面存储的是block的调用信息,__main_block_desc_0表示的是block内存描述。 剩下的属性即为block里引用到的属性 typedef void (^Block)(void); Block block; {

【Android】Room数据库的基本使用

【Android】Room数据库的基本使用 一、什么是Room 1.1 Room简介Room是Android Jetpack组件库中的一部分,对SQLite进行了封装,简化了对SQLite数据库的操作,让开发者使用面向对象的方式(通过Java/Kotlin)来操作SQLite数据库,从而避免了编写大量繁琐的SQL

【Android】Android Studio打包APK、精简APK大小与规范处理详解

目录引言一、应用打包1.1 导出APK安装包1.2 制作App图标 1.3 给APK瘦身  1.3.1 去除冗余功能 1.3.2 精简无用资源 1.3.3 压缩图片大小 二、规范处理 2.1 版本设置2.2 发布模式 结语引言Android Studio中运行程序默认都是debug版本,而想要在别人手机上安装应用,就需要把App打包成APK文件(relea

Flutter 三方库 todo 的鸿蒙化适配指南 - 掌控任务管理资产、精密待办治理实战、鸿蒙级精密工程专家

欢迎加入开源鸿蒙跨平台社区:#Flutter 三方库 todo 的鸿蒙化适配指南 - 掌控任务管理资产、精密待办治理实战、鸿蒙级精密工程专家在鸿蒙跨平台应用执行高级任务管理与多维待办逻辑资产指控(如构建一个支持全场景秒级交互的鸿蒙大型全量任务中枢、处理海量 Task Registry Payloads 的语义认领或是实现一个具备极致指控能力的资产管理后台工程审计中心&#

iOS 三种画板实现方式

UIBezierPath,Quartz2D,OpenGLES 1. UIBezierPath 1 UIBezierPath 使用UIBezierPath可以创建基于矢量的路径,此类是Core Graphics框架关于路径的封装。使用此类可以定义简单的形状,如椭圆、矩形或者有多个直线和曲线段组成的形状等。 UIBezierPath是CGPathRef数据类型的封装。如果是基于矢量形状的路

axios之cancelToken原理及使用

在真实项目中,当路由已经跳转,而上一页的请求还在pending状态,如果数据量小还好,数据量大时,跳到新页面,旧的请求依旧没有停止,这将会十分损耗性能,这时我们应该先取消掉之前还没有获得相应的请求,再跳转页面。 在真实项目中,当路由已经跳转,而上一页的请求还在pending状态,如果数据量小还好,数据量大时,跳到新页面,旧的请求依旧没有停止,这将会十分损耗性能,这时我们应该先取消掉之前还没有获

mac 安装虚拟机保姆级教程(vmware fusion)

 安装前提更新MAC OS 版本安装vmware fusion(从 VMware Fusion 13.5.2 开始已支持无需输入密钥即可使用,前提需要更新mac OS 版本否则不兼容         官网链接:VMware Fusion Pro: Now Available Free for Personal Use - VMware Fusion Blo