首页
学习
活动
专区
工具
TVP
发布

李蔚蓬的专栏

专栏作者
239
文章
329262
阅读量
33
订阅数
WebRTC | 原理、架构、框架目录、运行机制、核心类、PeerConnection调用过程等详解
架构 整理分为两层: 应用层、核心层 绿色部分是核心部分, 是WebRTC提供的核心功能; 紫色部分是浏览器提供的JS的API层; 即 浏览器对WebRTC核心层的C++ API 做了一层封装
凌川江雪
2020-08-11
4K0
Flutter | 常用带事件处理的组件详解(主要IconButton 、ToggleButton)
icon:icon组件,可以用原生的封装; onPressed:匿名函数,实现的点击事件; 代码:
凌川江雪
2020-07-07
9080
Android卡顿优化 | 卡顿及其优化工具概述及StrictMode实践案例
项目GitHub 本文要点 一般使用的卡顿优化工具 卡顿问题概述 卡顿问题分析难点 关于CPU Profiler 关于Systrace 关于StrictMode 磁盘读写违例检测实战 实例限制检测实战 一般使用的卡顿优化工具 CPU Profiler Systrace StrictMode (strict adj.精确的; 绝对的; 严格的,严谨的; [植]笔直的 mode n.方式; 状况; 时尚,风尚; 调式 模式;) 卡顿问题概述 很多性能问题(如内存占用高、耗费流量等)都相对不容易被
凌川江雪
2020-04-01
2.3K0
Android | App内存优化 之 内存泄漏 要点概述 以及 解决实战
1.Bitmap优化 Bitmap非常消耗内存, 而且在Android中,读取bitmap时, 一般分配给虚拟机的图片堆栈只有8M,所以经常造成OOM问题。 所以有必要针对Bitmap的使用作出优化: 1.1. 图片显示:加载合适尺寸的图片,比如显示缩略图的地方不要加载大图。 1.2. 图片回收:使用完bitmap,及时使用Bitmap.recycle()回收。 问题:Android不是自身具备垃圾回收机制吗?此处为何要手动回收。 Bitmap对象不是new生成的,而是通过BitmapFactory生产的。 通过源码可发现是通过调用JNI生成Bitmap对象(nativeDecodeStream()等方法)。 所以, 加载bitmap到内存里包括两部分, Dalvik(ART)内存和Linux kernel内存。 前者会被虚拟机自动回收。 而后者必须通过recycle()方法, 内部调用nativeRecycle()让linux kernel回收。 1.3. 捕获OOM异常:程序中设定如果发生OOM的应急处理方式。 1.4. 图片缓存:内存缓存、硬盘缓存等 1.5. 图片压缩:直接使用ImageView显示Bitmap时会占很多资源, 尤其当图片较大时容易发生OOM。 可以使用BitMapFactory.Options对图片进行压缩。 1.6. 图片像素(质量):android默认颜色模式为ARGB_8888, 显示质量最高,占用内存最大。 若要求不高时可采用RGB_565等模式。 还可以使用WebP; 图片大小:图片长度 * 宽度 * 单位像素 所占据字节数 ARGB_4444:每个像素占用2byte内存 ARGB_8888:每个像素占用4byte内存 (默认) RGB_565:每个像素占用2byte内存 1.7. 考虑使用inBitmap;图片优化之inBitmap 2. 巧用对象引用类型
凌川江雪
2019-12-16
1.2K0
Android | App内存优化 之 JVM & Android内存管理机制
计数器的值代表着下一条需要执行的字节码指令,!!! 字节码解释器工作时, 就是通过改变这个计数器的值来选取下一条需要执行的字节码指令,!!!! 分支、循环、跳转、异常处理、线程恢复等基础功能 都需要依赖这个计数器来完成。**
凌川江雪
2019-11-27
1.5K0
Android | App内存优化 之 内存抖动解决实战
点击堆转储按钮,(或者直接在图中选中一段图形) 工具会弹出刚刚选中的一段时间内, 内存分配情况的窗口, 阅读时,可以点击下侧表格中右上角的栏目项, 进行对应项的排序, 如点击Allocations, 则分配情况表格会按照分配的实例个数进行排列:
凌川江雪
2019-11-26
2.3K0
Framework笔记 | Android Framework用到了哪些IPC方式,分别在哪里用到
概念图如下, 我们可以看到数据流的方向是 父进程写描述符fd[1]--管道--子进程读描述符fd[0], 即,我们刚刚所说的半双工设计:
凌川江雪
2019-08-27
1K0
ROS | 无法锁定管理目录(/var/lib/dpkg/),是否有其他进程正占用它
以上是一句安装ros一个插件的语句, 运行时需要获得锁 /var/lib/dpkg/lock; 没有获得锁时,会出现“无法锁定管理目录(/var/lib/dpkg/),是否有其他进程正占用它”的报错。
凌川江雪
2018-12-13
9400
没有更多了
社区活动
RAG七天入门训练营
鹅厂大牛手把手带你上手实战,赢鹅厂证书、公仔好礼!
Python精品学习库
代码在线跑,知识轻松学
博客搬家 | 分享价值百万资源包
自行/邀约他人一键搬运博客,速成社区影响力并领取好礼
技术创作特训营·精选知识专栏
往期视频·千货材料·成员作品 最新动态
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档