[Input] App端消费事件流程 这是Android Input系列的第三篇文章,前面两篇的地址如下: Input ANR是如何产生的 [Input] socket连接的创建 今天主要讲讲App端在收到事件之后,是如何消费这些事件的。 首先,我们看一个事件分发的典型Java堆栈: image.png 可以看到,事件是从nativePollOnce分发出来的,调到了InputDispatcherReceiver的o 移动开发 2025年08月05日 83 点赞 0 评论 4834 浏览
基于Class实现简易的promise 用class实现了一个简易的promise 包含三种状态:pending、fulfilled、rejected,同时做了状态凝固 实现了resolved、reject的异步执行,利用了一个数组来保存当then时state仍然为pending的问题 实现了链式调用,在then中返回了一个promise,且对onFufilled及onRejected做了类型判断 4.resolvePromise函数 移动开发 2025年08月05日 68 点赞 0 评论 8109 浏览
面向对象的细胞实现 书名:代码本色:用编程模拟自然系统 作者:Daniel Shiffman 译者:周晗彬 ISBN:978-7-115-36947-5 第7章目录 7.8 面向对象的细胞实现 在后面的工作中,我们将为CA系统添加一些扩展特性,其中很多都涉及细胞的多个属性,比如:让细胞记住最近的10个状态;在CA系统中加入运动和物理学特性,让细胞能在屏幕中移动,在每一帧里动态地改变它的邻居。请问,这些特性该如 移动开发 2025年08月05日 146 点赞 0 评论 15725 浏览
android View动画---设计理念 本章内容: 了解View动画的总体设计理念,关键是思想, 而非代码细节. 一. 如何让View动起来. 1. 首先要了解View是如何展示到屏幕上的? ①. 先确定View的位置, 如下图: View的位置.png ②. 在View上面绘制内容, 如下图: View绘制内容.png 2. 得出两种让View运动的方案: ①. layout() 改变布局位置 ②. draw 移动开发 2025年08月03日 138 点赞 0 评论 9592 浏览
OC底层基础:Runtime 一、Runtime Objective-C是一门动态性比较强的编程语言,跟C、C++等语言有着很大的不同 Objective-C的动态性是由Runtime API来支撑的 Runtime API提供的接口基本都是C语言的,源码由C\C++\汇编语言编写 二、isa详解 要想学习Runtime,首先要了解它底层的一些常用数据结构,比如isa指针 在arm64架构之前,isa就是一个普通的指针, 移动开发 2025年08月03日 58 点赞 0 评论 1480 浏览
安卓Android各种报错收集(会持续更新) 前提 Android Studio版本 image.png Android Studio Bumblebee | 2021.1.1 Patch 2 Build #AI-211.7628.21.2111.8193401, built on February 17, 2022 Runtime version: 11.0.11+0-b60-7590822 x86_64 VM: OpenJD 移动开发 2025年08月03日 92 点赞 0 评论 6378 浏览
一款将打包后的Chrome插件自动化加载到浏览器的webpack插件 一、简述 今天向大家介绍一款可以将build打包后的chrome扩展程序自动化加载到chrome浏览器中的webpack插件,该webpack插件是我自己开发的,已经发布到了npm上,安装方式如下: npm i auto-load-chrome-ext-webpack-plugin 二、解决的痛点 前段时间在研究chrome插件开发过程中,由于我项目中使用了react进行页面开发, 移动开发 2025年08月03日 98 点赞 0 评论 13779 浏览
Swift 2G/3G/4G网络判断 我们可以引用import CoreTelephony框架下的一些API来判断当前的网络 iOS系统API定义: /* Radio Access Technology values */ @available(iOS 7.0, *) public let CTRadioAccessTechnologyGPRS: String @available(iOS 7.0, *) public let CT 移动开发 2025年08月02日 113 点赞 0 评论 12979 浏览
Android 10.0 锁屏壁纸 LockscreenWallpaper(三) 学习笔记: 一、设置壁纸 通过系统设置进行锁屏壁纸和桌面壁纸的设置。 Setting 部分的代码: // DefaultWallpaperPersister.java private int setStreamToWallpaperManagerCompat(InputStream inputStream, boolean allowBackup, int whic 移动开发 2025年08月02日 79 点赞 0 评论 4810 浏览
原型与原型链 原型: 1、所有引用类型都有一个proto(隐式原型)属性,属性值是一个普通的对象 2、所有函数都有一个prototype(原型)属性,属性值是一个普通的对象 3、所有引用类型的proto属性指向它构造函数的prototype 原型链: 当访问一个对象的某个属性时,会先在这个对象本身属性上查找,如果没有找到,则会去它的proto隐式原型上查找,即它的构造函数的prototype,如果还没有找到就会 移动开发 2025年08月02日 75 点赞 0 评论 5641 浏览