移动开发

iOS16适配 屏幕旋转横屏

背景 iOS16之前转屏方法setOrientation:, 16之后使用无效. 虽然Xcode14/iOS16提供了新的api但还是beta版, 不能直接打包上线, 所以要在旧版适配新版本. 怎么适配 尝试了很多方法, 比如横屏时直接present一个横屏VC, 但耗时耗力, 怎么花最小代价适配iOS16, 看下面... 未升级Xcode14提前调试iOS16 下载iOS16系统支持包 放到这个

android studio模块化之模块划分简易版

模块也好,组件也罢,都是需要做好模块区分的。 一、新建module 修改你的模块名,比如你原来的包名是aaa.bbb.ccc,那么模块名就会是aaa.bbb.模块名 二、统一依赖 当我们建立好的module之后,发现主项目app和mudole各自的build.gradle文件都有一些相同的依赖,这个这个时候,需要进行管理,避免混乱。 一些相同的依赖

ES6学习(17)async和await

async用来声明一个异步函数,返回值是一个promise对象,结合await使用,使异步代码看起来像同步代码。 async可以单独使用 如果没有返回值,则返回的状态是resolved,值是undefined 如果返回值是一个非promise类型,则返回的状态是resolved,值就是返回的这个值。 如果 抛出错误,则返回的状态就是rejected 如果返回的值是一个promise,则asyn

Android卡顿优化工具

线上监控的方案 1、BlockCanary 从Choregrapher中可以知道,帧的渲染是通过消息发送到主线程执行的。所以通过在计算msg的处理时间就可以判定是否发生卡顿。 Looper.java public static void loop() { ... for (;;) { ... // This must be in a local va

unity Xcode 项目注意事项

1.xcode报错 Cannot use '@try' with Objective-C exceptions disabled 解决 修改target -> build settings -> All | Combined -> Apple LLVM Compiler 4.2 - Language 中 Enable Objective-C Exceptions为YES

响应式编程之手写Reactor

前言 前文提到了响应式编程,响应式规范Reactive streams,以及响应式扩展Reactor的简单使用 在使用Reactor时我一直很好奇,它是怎么做到的? 好奇心驱使我想要自己去写一个Reactive streams的实现,并参照Reactor源码来看看大神是如何实现的 话不多说,开始写代码(本文比较啰嗦,因为掺杂了自己的实现思路) 简单序列的发布者 看一下Reactor的一个简单例子

swift-远程推送-开发问题

1.问题 错误:Building for iOS Simulator, but the linked and embedded framework '***' was built for iOS + tvOS SimulatorSimulator-x86_64 设置:Build Settings -> Validate Workspace 20201217200220312.pn

iOS Foundation 中的线程锁

前言      锁是线程编程的基本同步工具。锁使您能够轻松地保护大部分代码,从而确保该代码的正确性。OS X 和 iOS 为所有应用程序类型提供了基本的互斥锁,Foundation 框架为特殊情况定义了一些额外的互斥锁变体。以下部分将展示如何使用其中几种锁。 NSLock (互斥锁) NSLock 的使用     NSLock 为 App 实现了一个基本的互斥锁。NSLock 的接口实际上是由 N

小程序信息收集(小迪网络安全笔记~

免责声明:本文章仅用于交流学习,因文章内容而产生的任何违法&未授权行为,与文章作者无关!!! 附:完整笔记目录~ ps:本人小白,笔记均在个人理解基础上整理,若有错误欢迎指正! 四、小程序信息收集 引子:本章对常见的小程序信

记录一次macbook 安装macOS+win11双系统的历程。包括MacBook电脑恢复、绕过win11限制等

一、MacBook恢复macOS系统,或有问题可以重新用此操作关机状态,同时摁住 option+command+R 三个键,然后再摁开机键,等出现 一个地球的图标即可松开。 然后正常链接wifi,让它自动下载一些组件即可。 这里对硬盘进行重新格式化(因为我这里的MacBook是安装了Window