移动开发
设计模式之装饰器模式
也称装饰者模式、装饰器模式、Wrapper、Decorator。
装饰模式是一种结构型设计模式, 允许你通过将对象放入包含行为的特殊封装对象中来为原对象绑定新的行为。
解决方案
当你需要更改一个对象的行为时, 第一个跳入脑海的想法就是扩展它所属的类。 但是, 你不能忽视继承可能引发的几个严重问题。
继承是静态的。 你无法在运行时更改已有对象的行为, 只能使用由不同子类创建的对象来替代当前的整个对
Android卸载系统软件 免Root 禁用系统更新
步骤
1,手机打开开发者选项,连接电脑允许adb调试权限;
2,打开终端,命令行执行adb devices 查看设备连接情况;
image.png
3,卸载系统应用,这一步前提是你知道系统应用的包名(有多种方法获取,文末有介绍);
adb shell pm uninstall --user 0 包名
例如卸载手机系统更新(此为oppo或realme手机系统,如果不想收到系统更
Flutter基础知识
0、Dart是值传递还是引用传递?
Dart是值传递。每次调用函数,传递过去的都是对象的内存地址,不是对象的复制。
知识点扩展:Swift的struct是值类型,class是引用类型;意思是:声明一个新的变量指向这个结构体,改变某个属性,原本的结构体属性不会发生变化;而类会随着改变
1、Flutter的核心树
Widget:
1、使用配置和状态,描述view的样子
2、当一个Widget发生改变时
安卓(Android 12) 动态权限申请
本篇将会封装一个工具,解决安卓权限申请的问题
最终效果:
授权的情况
agree.gif
对应的日志
image.png
不授权的情况
refect.gif
对应的日志
image.png
步骤一
在安卓工程目录下 app ---> src ---> main ---> AndroidManifest.xml ,在
React18新特性介绍&&升级指南
react历次版本迭代主要想解决的是两类导致网页卡顿的问题,分别是cpu密集型任务和io密集型任务导致的卡顿问题,react18提出的并发特性(Concurrent Rendering)就是为了解决上述问题。
Concurrent Rendering
什么是concurrent
简单体验一下
concurrent不算是个新鲜概念,react很早之前就开始为其铺路,早在v16/v17就引入了fib
uniapp人脸识别解决方案
APP端:
因为APP端无法使用uni的camera组件,最开始考虑使用内嵌webview的方式,通过原生dom调用video渲染画面然后通过canvas截图。但是此方案兼容性在ios几乎为0,如果app只考虑安卓端的话可以采用此方案。后面又想用live-pusher组件来实现,但是发现快照api好像需要真实流地址才能截取图像。因为种种原因,也是安卓ios双端兼容性不佳。最终决定采用5+api实现
【Android 架构之 MVI 雏形】响应式编程 + 单向数据流 + 唯一可信数据源
这是 MVI 架构的第一篇,系列文章目录如下:
【Android 架构之 MVI 雏形】响应式编程 + 单向数据流 + 唯一可信数据源
关于Android 架构 的MVI 初级体
【Android 架构之 MVI 完全体】 就MVVM 来说关于PartialChange & Reducer
[Android 架构之 MVI究极体]数据区分状态和事件,解决粘性数据
引子
MVI 是Mod
ActivityThread 中一些常用的知识点记录
ActivityThread:
它管理 应用程序进程 中主线程的执行,调度和执行Activity,广播,
以及ActivityManager 请求的其他操作。
简单的说,可以通过这个类,获取到当前应用的一些信息
TIPS:
(1).可以使用以下的开源代码网站查看源码