移动开发

[ANR] 优化SharedPreference apply引起的ANR问题

前一篇文章[ANR]为什么SharedPreference会引起ANR,我们知道, SharedPreference的apply方法虽然是异步写入文件的,但是会在Activity和Service生命周期方法调用的时候,等待所有的写入完成,可能引起卡顿和ANR。 解决方法 为了快速解决这个问题,我们可以通过代理系统SharedPreference的所有apply方法,改为直接在子线程调用commit

iOS:APP后台永久保活方法

Signing&Capabilites开启Audio,AirPlay,and Picture in Picture模式 应用在后台时播放声音信息,可以利用此模式播放无声音频,APP进入后台播放无声音频,可以实现APP长时间保活 代码如下 编写音乐播放类 #import <Foundation/Foundation.h> #import<AVFoundation/AVFou

object.defineProperty()实现双向数据绑定

Object.defineProperty()方法会直接在一个对象上定义一个新属性,或者修改一个对象的现有属性(属性为响应式属性),并返回此对象。 语法: Object.defineProperty(obj, prop, descriptor) obj要定义属性的对象。 prop要定义或修改的属性的名称或 descriptor要定义或修改的属性描述符。 get: 属性的 getter 函数

真实性问题情境的设计 186--197

一.确定问题情境的目标 真实性问题情境具有开放性,复杂性,多元性和局限性,很难机械地重复使用现成的专家结论,只有理解了大概念,学生才能像专家一样思维,并创造性地解决实际性问题,在具体情境中激活并灵活的运用知识、方法和技能 。 围绕单元的大概念来设计问题情境 二.寻找问题情境的原型 从现实世界中寻找问题原型来逆推 1.预定创设和原型改编 设计真实性情境更好的办法是“逆推”,我们称这个为“原型改编”,

iOS开发 实现手机屏幕指定区域截屏

指定截屏代码实现 全屏截图效果 全屏截图效果 指定区域截屏效果 指定区域截屏效果 这里先上代码,代码后面有相关方法的解释 第一种方法 代码下载 /** 创建一个基于位图的上下文(context),并将其设置为当前上下文(context) @param size 参数size为新创建的位图上下文的大小。它同时是由UIGraphicsGetImageFromCu

Android-Jetpack-LifecycleService使用

图片来源网络 在开发当中,我们肯定会有使用到Service相关的需求,编写程序的时候,肯定要做到Service与组件之间解耦,Android为我们提供了LifecycleService类帮助我们实现。这篇博客主要分享LifecycleService相关的知识,希望对看文章的小伙伴有所启发。 查看Service与LifecycleService关系 层级关系,我们用一张图来说明,来源An

mac中使用QuickTime Player看了移动硬盘里的视频,如何清除记录?

mac的QuickTime Player有一个bug,就是用它看完移动硬盘中的视频之后,播放记录(也就是右击QuickTime Player的最近使用项目)没有办法清除。我们先来复现一下问题: 移动硬盘中的视频 我们双击打开这个移动硬盘里的电影进行播放: 播放 当我们关掉电影后,右击看一下QuickTime Player的记录: 记录 这时候如果我们正

SwiftUI教程(三)常用View和Modifiers详细讲解和使用

SwiftUI教程系列文章汇总 本文主要讲述常见的View和Modifiers的认识和使用 主要内容: 常用View 常用Modifiers 1. 介绍 SwiftUI通过View视图搭建界面,使用Modifiers修饰器来修饰视图。系统提供了大量的视图和修饰器,并且还可以让我们自定义修饰器。 既可以手动写,也可以直接拖出到代码区或者预览区。这三种方式的结果都是一样的。 示意图:

传对象参数(含有特殊字符)

1.传递参数为对象格式 若传递的参数为对象格式时,则先需要使用JSON.stringify()进行转换,接收后需要使用JSON.parse()转为对象使用。 注意:但是这样传参有一个问题,当对象数据长度过大时会报错,因此url传参时程序把过长的那段数据给截取掉了,导致数据转换回来时格式不对而报错。 2.传递参数中含有? = &等特殊字符 若传递参数中含有= ? &等特殊字符时,