移动开发

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

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

Runloop原理(一)

此文章的意图:当你完全细心阅读之后,对runloop认知,会成为你作为一名ios开发人员潜意识里的一部分 一、官方一张图开始 image.png 官方文档开宗介绍 Run loops are part of the fundamental infrastructure associated with threads. runloop是与线程相关的基础架构的一部分,说白了runloop

burp suite安装及汉化过程

一、下载安装1、访问官网下载社区版本Burpsuite:Burp Suite Release Notes#community2、安装并打开二、证书&代理配置1、配置本地证书,并通过Chrome浏览器访问进行抓包Chrome设置代理 127.0.0.1:8080,与BP里面的一

QGC 源码分类、PX4 适配与 Android 移植学习指南

1. 项目整体定位QGroundControl 是一个基于 Qt 6、C++20、QML 和 MAVLink 的跨平台无人机地面站。它的核心目标是: 连接 MAVLink 设备,包括 PX4、ArduPilot 和通用 MAVLink 设备。 管理飞行器状态、参数、任务、围栏、集结点、相机、云台、日志、地图、视频等能力。 用 QML 构建跨平台界面&#

Android 自定义Toast

原生的Toast其实相当好用,而且足够简单轻量,但是架不住需求千奇百怪,而且老板一般都会觉得这个提示不明显!原本Toast是可以自定义样式的,但现在setView方法已经过期,本文通过自定义View的形式来实现类Toast效果,先上效果图 长文本效果 循环跑了100个协程的效果 获取屏幕宽高 因为需要将Toast显示到一个大致固定的位置、尽量显示一行且不能超过屏幕宽度,

Linux 开发与 Git 入门实践:从进度条小程序到代码托管

目录一、Linux 进度条小程序 1. 行缓冲区概念   2. 进度条代码实现 二、使用 Git 进行版本控制 1. 安装 Git2. 在 GitHub 创建项目 提交代码改动 在软件开发的旅程中,Linux 环境下的编程以及版本控制工具 Git 的使用是极为重要的技能。本文将带你一步步从创建一个简单的 Linux 进度条小程序,到使用 Git 进行代码管理并推送到 G