- 博客(14)
- 资源 (1)
- 收藏
- 关注
原创 AndroidStudio日常使用问题汇总
1.The emulator process for AVD Nexus_5_API_24 was killed. 【模拟器启动报错】参考连接:https://jingyan.baidu.com/article/a17d5285d11f3c8098c8f2c9.html
2020-11-18 15:29:36 213
原创 eeui 2.4.0 升级之后 Execution failed for task ‘:weex_sdk:unzipJSC‘.
前言最近eeui社区有人反馈,android 11设备上无法正常运行。反馈没多久eeui官方开发者就给出了解决方案,那就是后续更新有开发自行编译打包weex sdk。升级版本到2.4.0运行出错:What went wrong:Execution failed for task ‘:weex_sdk:unzipJSC’.解决办法:1.我先在社区提出了这个问题,在提问题之前我看了以往的问题清单,貌似大家都没有遇到这个问题。所以想先提问一下,说不定就有人已经发现和解决了呢?(昨天晚上下班前体问的)
2020-11-17 16:09:57 857 1
原创 vue的Axios跨域问题,以及如何使用jquery实现dom解析(爬虫)
背景通过npm run dev。我们会把项目起在127.0.0.1下面。那么我们所有的请求的baseUrl默认都是这个。如果我们希望访问其他三方的网站,如果三方网站没有放开同源策略限制的话,我们将会遇到服务端跨域的问题。但是通常情况下我们遇到的都是浏览器的同源策略限制,如下图所示:那么如何来解决这个跨域的问题?我们可以通过webpack配置proxyTable来进行访问控制devServer: { host: '127.0.0.1', port: 8090, proxy:
2020-11-15 23:06:54 537
原创 gradle 配置apk重命名
小插曲领导反馈,让业务人员捋清楚版本号太复杂了,能不能把版本号加在文件名上面?前言相信打包这个活初级开发都接触过,androidStudio默认会帮我们把包打成debug,和release但是很多时候我们需要对这些包增加区分度。来方便我们的运维同学帮我们挂包,或者是产品同学帮我们上架不同渠道区分度比如我们会加上应用名,版本号,渠道,时间戳,最后是我们默认的打包类型具体实现//这个要写在android节点外面def releaseTime() { return new Date().fo
2020-11-13 10:23:52 481
原创 自建APM之网络优化
网络优化纬度介绍正确认识:网络优化纬度:多维仅仅重视流量不够网络流量的消耗:精确整体均值掩盖单点问题网络相关监控:全面粗粒度监控不能帮助我们发现、解决深层次的问题纬度流量消耗一段时间流量消耗的精准度量,网络类型、前台后台监控相关:用户流量消耗均值、异常率(消耗多、次数多)完整链路全部监控(Request、Response),主动上报网络请求质量用户体验:请求速度、成功率监控相关:请求时长、业务成功率、失败率、Top失败接口其它公司成本:带宽、服务器数、CDN手机耗电
2020-11-11 18:14:02 237
原创 自建APM线程管理
线程调度原理剖析线程调度原理任意时刻,只有一个线程占用CPU,处于运行状态多线程并发:轮流获取CPU使用权JVM负责线程调度:按照特定机制分配CPU使用权线程调度模型分时调度模型:轮流获取、均分CPU时间抢占式调度模型:优先级高的获取,JVM采用android线程调度nice值- process中定义- 值越小,优先级越高- 默认是THREAD_PRIORITY_DEFAULT,0cgroup更严格的群组调度策略保证前台线程可以获取到更多的cpu注意点线程过多导致CPU频繁
2020-11-11 12:45:51 234 1
原创 自建AMP之内存优化
内存优化介绍及工具选择目录内存优化介绍优化工具选择背景介绍内存是大问题但缺乏关注压死骆驼的最后一根稻草内存问题内存抖动:锯齿状、GC导致卡顿内存泄漏:可用内存减少、频繁GC内存溢出:OOM、程序异常工具选择Memory Profiler实时图表展示应用内存使用量识别内存泄漏、抖动等提供捕获堆转储、强制GC以及跟踪内存分配的能力方便直观线下平时使用...
2020-11-10 18:08:13 203
原创 自建APM之卡顿优化
卡顿介绍及优化工具选择CPU ProfilerSystraceStrictMode背景介绍很多性能问题不易被发现,但是卡顿很容易被直观感受卡顿问题难以定位卡顿问题难在哪里产生原因错综复杂:代码、内存、绘制、IO?不易复现:当时场景强相关CPU Profiler图形展示执行时间、调用栈信息全面,包含所有线程运行时开销严重,整体都会变慢(带偏优化方向)TraceView和SystraceStrictMode严苛模式,Android提供的一种运行时检测机制方便强大,容易被忽略包
2020-11-10 16:39:57 362
原创 自建APM之布局优化
绘制原理Cpu负责计算显示内容Gpu负责栅格化(UI元素绘制到屏幕上)16ms发出VSync信号触发UI渲染大多数Android设备屏幕刷新频率:60Hz优化工具Systrace关注Frames正常:绿色圆点,丢帧:黄色或红色alerts栏LayoutInsepector层次结构screenShotPropertiesTableChoreographer获取FPS,线上使用,具备实时性Api16之后Choreographer.getInstance().postFrame
2020-11-10 08:45:44 202
原创 自建APM之启动优化
优化背景8秒定律,打开一个网页加载的时间超过八秒。会有70%的用户流失现状分析启动时间测量adb方式测量adb shell am start -W -n 应用包名/Activity全路径名这个命令在不同手机下的输出不一样vivo X9iMI 8这种方式简单,适合我们线下使用。但是这种方式误差比较大。需要测量多次然后取平均值这里解释一下thisTime 打开当前页面耗时totalTime 打开所有页面耗时waitTime 冷启动简单讲app冷启动可以分为两个阶段第一阶
2020-11-09 18:56:27 309
原创 异步优化方案
异步优化详解创建线程,创建线程池Executors.newFixedThreadPool()//设置线程数量,参考AsyncTask问题1.任务必须执行在主线程当中(不符合异步要求)解决办法:把任务改造成可以在子线程中执行,或者把任务放到主线程执行问题2.异步任务结束时间晚于调用时机(需要在某个阶段完成)解决办法:使用java的CountDownLatch锁问题3:CPU密集型任务,IO密集型任务异步优化痛点1.代码不够优雅2.场景不好处理(依赖关系)3.维护成本高启动器流程代码
2020-11-09 18:39:57 330
原创 MAT工具介绍和使用
Hprof转换工具转换命令MAT可视化工具全面理解MAToverView1.Histogram 基于类分析 (直方图)列出class的实例,shallowsize,retainedsizegroupByPackageWith outGoing ReferenceWith incoming Reference2.Dominator_tree 基于实例分析3.OQL 对象查询语言4.Thread Overview 线程总数查看5.Top consumers
2020-11-09 17:43:58 1399
原创 Android知识体系图谱-常见机制(持续更新)
线程通信Handler远离HandlerThreadIntentServiceRxjava进程IPC通信BinderAIDL序列化匿名共享内存lowmemorykiller进程的优先级View体系自定义控件事件分发机制- 滑动冲突- 滑动、嵌套滑动自定义动画lottie动画解析绘制- measure- layout- draw requestLayout和invalidate()区别Android消息机制本地存储 Sqlite、SharePref
2020-11-01 21:45:37 325
原创 Android知识体系图谱-开发基础能力(持续更新)
java高级反射,动态代理反射介绍基础合集NIOIO垃圾回收和GCJVM 多线程(并发锁)并发集合框架容器数据结构和算法数据结构算法相关线性表栈和队列树树的基础其他常见的树并查集B-,B+,B*树图图的基础拓扑排序Kruskal算法Prim算法Dijkstra算法Floyd算法散列查找排序海量数据处理操作系统操作系统相关计算机网络网络相关DNS HTTP/1.x HTTPs/HTTP/2 TCP等网络知识SSL虚拟机虚拟
2020-11-01 20:56:57 268
commons-codec-1.14-SNAPSHOT.jar
2019-12-16
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人