移动开发

Android卡顿监控

实现思路 卡顿监控主要监控:慢方法的监控、ANR的监控、掉帧的监控。其实现方案主要有三种: Looper的Printer在消息执行前后的打印,计算出消息执行时间。 利用Choreographer向其注册CALL_BACK, 监听Vsync的开始从而得到上一帧的执行时间。 利用插桩的方法计算每个方法的执行时间。 比如对慢方法、ANR的监控,则是对主线程的Looper的消息的监听,对掉

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

第二章 RocketMQ 基本消息

基本消息发送有三种姿势:同步、异步、单向。 同步:消息发送到 Broker 成功后,返回发送成功结果;这种可靠性同步地发送方式使用的比较广泛,比如:重要的消息通知,短信通知。 异步:消息发送出去后立即返回结果,可以在发送成功的消息回调中,查看消息是否发送成功;异步消息通常用在对响应时间敏感的业务场景,即发送端不能容忍长时间地等待 Broker 的响应。 单向:消息发送出去,Broker 不返回

Java注解实现异步导入与导出(二)

Java注解实现异步导入与导出(一) 上一篇写完了用注解实现异步导入,这一篇实现用注解异步导出。 1.背景: 导出最容易遇到的问题就是超时了,随着我们DB数据越来越多,导出时特别容易超时,这时候通常的解决办法就是优化SQL,或者直接限制导出条数,但是这两种方法都只能解决暂时的问题,过一段时间可能就又会冒出来。所以还是使用异步导出,先存到nas中,然后让用户再去下载。 2. 流程设计: 2.1 生

Block源码解析

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

安卓畅玩Java游戏轻松实现移动游戏体验升级

安卓畅玩Java游戏解锁移动游戏体验升级的终极指南在移动设备上畅玩经典Java游戏,不仅是一种怀旧情怀,更是一种技术的乐趣。本文将系统介绍如何在安卓设备上实现Java游戏的流畅运行,从模拟器选择、性能优化到操作体验提升,全方位升级你的移动游戏体验。我们将从技术原理、工具选择、性能优化和操作适配四个核心方向展开,帮助开发者与玩家轻

iOS 三种画板实现方式

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

Xcode14.3打包的APP在iOS13.x上启动崩溃闪退

Xcode14.3 ,iOS13.6.1, iOS13.6, iOS13.3, iOS13.x 今天用Xcode 14.3打包安装在iOS 13.x的手机启动崩溃,但是连着Xcode调试时没有问题,不连着Xcode14.3时启动APP就闪退。 从苹果官网看到也有不少人遇到,但是没有具体的解决方案。 目前从以下几点处理这个问题: 1.降级Xcode到14.2打包可解决该问题 2.app 最低目标版