抖音卡顿原因性能分析案例

最近刷抖音,发现刷的时间久一点就能感觉到明显卡顿,严重影响使用,需要强杀APP才行。偶尔一次还好,次数多了,一方面影响了使用体验,一方面出于安卓开发的职业,手机性能也不低,跑的也是大厂APP,为什么会有这么明显的卡顿呢。比较好奇到底是什么原因导致的,本文就来分析一下,当做性能优化的练习题。   因为我用的是小米手机,使用的澎湃系统。 因为是新系统,一开始怀疑是系统方面有BUG。首先手机配置不算低,料想CPU没问题,看了下16内存还有7G剩余也是足够,1T空间还有一半没用,也不会是IO瓶颈。那只能是CPU调度上有问题,之前也看过一个关于小米手机的性能优化案例,因为CPU对进程调度以及系统刷新优化方面缺陷,会导致APP卡顿。具体来说就是将应用主线程调度到小核上了,小核的频率也没有以最高频率问题,也就是摆核问题。然后就想开启小米手机的性能模式,这...

docker镜像源可用性在线检测

介绍 docker镜像源国内目前很多都失效了。网上也有各种替代方法,有的比较麻烦,最方便的还是替换可用的镜像源。 但是网上找的镜像源不知道什么时候就失效了,需要反复尝试。 针对上面问题,开发了一个网站,用来在线检测docker镜像源的可用性。 测试可用再配置,这样就不怕了,可以说是目前最方便的解决docker镜像下载问题的方法。     具体使用 https://docker.jhjy.pw/ 访问检测网站 将镜像源url每行一个填入下面,点击检查 就会将可用的镜像源显示出来了     有可用的镜像源可以在公众号留言 docker镜像源可用性在线监测     结语   另外我建了一些程序员交流群,感兴趣可以加我微信好友: weichenAndroid 给我留言进入相应的交流群...

窗口拆分可拖动布局组件splitpanes

介绍 官网和文档 https://github.com/antoniandre/splitpanes https://antoniandre.github.io/splitpanes/ 这个组件能实现上面效果,窗口任意拆分,拆分完还可以拖动来改变每个布局的大小。 还是响应式的 类似android中的weight布局方式,甚至更好用一些 安装 npm i splitpanes import { Splitpanes, Pane } from 'splitpanes' import 'splitpanes/dist/splitpanes.css' 使用 安装好之后就可以直接import使用了 <template> <splitpanes class="defaul...

Vue3增删改查demo源码

介绍 一个vue纯前端的增删改查的demo源码 用来学习vue的一些组件和功能非常不错,实现的功能也是很实用的 毕竟UI仔最常见的操作就是增删改查 项目教程来自B站,原本也配套了源码。 https://space.bilibili.com/94560450/channel/collectiondetail?sid=582261&spm_id_from=333.788.0.0 https://github.com/yanmiao99/vue3-go-crud-project 不过源码实际跑的时候发现after源码又增加了后端的go接口的代码不能直接运行了 before的源码没有go接口,但是也有一些bug跑不起来。 我将源码改了改,纯前端,clone之后直接npm install,npm run dev就可以运行了 项目具体介绍 支持增加item,删...

pinia与cookie的同步工具类

介绍 有时候pinia的store状态需要与cookie同步,比如用户信息 这里提供一个方便的工具类 使用 cookie.js工具类 //设置cookie,增加到vue实例方便全局调用 //vue全局调用的理由是,有些组件所用到的接口可能需要session验证,session从cookie获取 //当然,如果session保存到vuex的话除外 //全局引入vue var cookie={ setCookie (c_name, value, expiredays){ var exdate = new Date(); exdate.setTime(exdate.getTime()+expiredays); exdate.setDate(exdate....

vue接口请求库axios,fetch的使用

介绍 本文介绍一下axios的安装,配置,get,post和stream用法(封装方式),拦截器用法 安装 npm install axios "axios": "^1.6.8", request封装 request.js主要是对axios进行基本配置 import axios from 'axios' export const API_BASE_URL = "http://192.168.68.92:16603"; const service = axios.create({ //url = base url + reqeust url baseURL : API_BASE_URL, //配置请求超时时间 ...

登录

忘记密码 ?

切换登录

注册