移动开发

Android卡顿监控

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

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 最低目标版

iOS关联对象objc_setAssociatedObject探讨

主要函数为: //为给定的对象设置一个关联值 public func objc_setAssociatedObject(_ object: Any, _ key: UnsafeRawPointer, _ value: Any?, _ policy: objc_AssociationPolicy) //返回与给定键的给定对象关联的值 public func objc_getAssociatedObj

adb shell input text不能输入中文的解决方案

原因 adb默认是不支持Unicode编码的,无法通过adb shell input text 命令输入中文到手机或者模拟器。 解决步骤 1、安装ADBKeyBoard.apk文件(直接搜索就能找到) 打开手机或模拟器,adb install ADBKeyBoard.apk安装该输入法 在手机上直接安装也可 2、设置默认输入法 打开手机设置 -> 点击语法与输入法 -> 点击输入法管

Dart简介4--异步支持

说明 在很多语法中,回调处理异步任务是很常见的操作,然而回调多了是一件很老火的事情。Dart给了我们很友好的方式,可以允许我们写出和同步代码很像的异步代码。 1,Future Future一个异步操作的最终完成(或失败)及其结果值的表示。简单来说,它就是用于处理异步操作的,异步处理成功了就执行成功的操作,异步处理失败了就捕获错误或者停止后续操作。一个Future只会对应一个结果,要么成功,要

RecyclerView卡顿案例和解决方案

记录一次RecyclerView卡顿案例和解决方案。 需求:界面由两部分组成,顶部一个图片,图片下面是列表。在列表滑动时,图片跟着滑动。 实现:NestedScrollView [ LinearLayout [ ImageView , RecyclerView ] ]。 结果:当数据量较大时,RecyclerView 会越划越卡。 原因:NestedScrollView 嵌套 RecyclerVi

Glide源码分析之加载图片URL

简介 Glide 作为Android开发过程中常见的图片加载工具,在我们日常开发中用到到越来越多.但是个人也只是停留在用的状态.最近时间充裕简单的梳理了一下Glide 加载网络图的流程 流程 1.1 Glide.with(content) 得到RequestManagerRetriever初始化了RequestManager和Glide. @NonNull public static Reque

iOS 静态库 和 bundle

开源库 公开源代码,能看到具体实现,如SDWebImage,AFNetworking 闭源库 不公开源代码,是经过编译后的二进制文件,看不到具体实现,主要分为静态库 和动态库 静态库和动态库的区别 1、 形式上 静态库是.a 和 .framework。 动态库是.dylib和 .framework ,xcode8 为.tbd ,本质是.dylib 2、使用上: 静态库,链接时,会被完整的复制到