首页
沸点
课程
数据标注
HOT
AI Coding
更多
直播
活动
APP
插件
直播
活动
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
登录
注册
开发者如是说
掘友等级
工程师
|
开发者如是说
软件工程师,独立开发者,技术接近全栈,正在学习AI,围绕移动应用分享技术和产品想法。
获得徽章 23
动态
文章
专栏
沸点
收藏集
关注
作品
赞
1K
文章 763
沸点 237
赞
1K
返回
|
搜索文章
最新
热门
CameraX:Android 相机库开发实践
前段时间因为工作的需要对项目中的相机模块进行了优化,我们项目中的相机模块是基于开源库 CameraView 进行开发的。那次优化主要包括两个方面,一个是相机的启动速度,另一个是相机的拍摄的清晰度的问题。因为时间仓促,那次只是在原来的代码的基础之上进行的优化,然而那份代码本身存在…
开源一个 Android 图片压缩框架
在我们的业务场景中,需要使用客户端采集图片,上传服务器,然后对图片信息进行识别。为了提升程序的性能,我们需要保证图片上传服务器的速度的同时,保证用于识别图片的质量。整个优化包括两个方面的内容: 图片压缩的优化:基于拍摄的图片和从相册中选择的图片进行压缩,控制图片大小和尺寸。 在…
Android 插件化框架 DynamicLoadApk 源码分析
DynamicLoadApk 应该算是 Android 插件化诸多框架中资历比较老的一个了。它的项目地址在:dynamic-load-apk。该项目运行之后的效果是,使用 Gradle 编译出插件包和宿主包,都是以 APK 的形式。安装宿主包之后,通过 ADB 将插件包 pus…
在 Android 中使用 JNI 的总结
最近在研究 Android 相机相关的东西,因为想要对相机做一个封装,于是想到要提供支持滤镜和图像动态识别相关的接口。在我找到一些资料中,它们的实现:一个是基于 OpenGL 的,一个是基于 OpenCV 的。两者都可以直接使用 Java 进行开发,受制于 Java 语言的限制…
Android 高级面试-5:四大组件、系统源码等
对象的大小。Intent 中的 Bundle 是使用 Binder 机制进行数据传送的。能使用的 Binder 的缓冲区是有大小限制的(有些手机是 2 M),而一个进程默认有 16 个 Binder 线程,所以一个线程能占用的缓冲区就更小了(有人以前做过测试,大约一个线程可以占…
Androd 应用启动过程的源码分析
在之前的文中,我们已经了解过了 Android 系统启动的过程。系统启动之后会由 PMS 安装系统应用,并启动 Launcher,也就是桌面程序。然后,我们安装的程序的图标将会显示到桌面上面。 所谓应用启动过程分成两种情形,一个是应用进程已经建立,一种是应用进程没有建立的情况下…
RxJava 响应式编程 | 一篇文章看懂 RxJava 的实现原理
在之前的文章中我们介绍了 RxJava 2 的常用的 API 的方法总结、背压的概念以及 RxJava 2 在项目中的实际应用。在本节中,我们将要对 RxJava 2 的源码进行分析。下面是之前文章的一些链接,如果对 RxJava 2 的使用比较感兴趣,你可以通过下面的文章进行…
Android 高级面试-4:虚拟机相关
标记-清除算法:这种算法直接在内存中把需要回收的对象“抠”出来。效率不高,清除之后会产生内容碎片,造成内存不连续,当分配较大内存对象时可能会因内存不足而触发垃圾收集动作。 标记-整理算法:类似于标记-清除算法,只是回收了之后,它要对内存空间进行整理,以使得剩余的对象占用连续的存…
Android 高级面试-3:Java、同步和并发相关
LruCache 用来实现基于内存的缓存,LRU 就是最近最少使用的意思,LruCache 基于 LinkedHashMap 实现。LinkedHashMap 是在 HashMap 的基础之上进行了封装,除了具有哈希功能,还将数据插入到双向链表中维护。每次读取的数据会被移动到链…
Android 高级面试-2:IPC 相关
IPC 就是指跨进程通信。IPC 相关的内容,涉及的主要有: IPC 就是指进程之间的通信机制,在 Android 系统中启动 Activity/Service 等都涉及跨进程调用的过程。 Bundle,用于在四大组件之间传递信息,优点是使用简单,缺点是只能使用它支持的数据类型…
下一页
个人成就
优秀创作者
文章被点赞
3,544
文章被阅读
421,708
掘力值
13,163
关注了
31
关注者
6,144
收藏集
0
关注标签
56
加入于
2016-12-17