首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
贾小昆
掘友等级
Android 工程师
微信公众号:贾小昆
获得徽章 0
动态
文章
专栏
沸点
收藏集
关注
作品
赞
57
文章 49
沸点 8
赞
57
返回
|
搜索文章
赞
文章( 49 )
沸点( 8 )
【Android进阶】 这次我把ARouter源码搞清楚啦!
在开发一个项目的时候,我们总是希望架构出的代码能够自由复用,自由组装,实现单一职责,并且抽离维护着各种各样可重复使用的组件。 而在组件化过程中,路由是个绕不过去的坎。
Android 避坑指南:Gson 又搞了个坑!
这是我之前项目同学遇到的一个问题,现实代码比较复杂,现在我将尽可能简单的描述这个问题,并且内容重心会放在探索为什么会出现这样的情况以及后续监控。 项目中一般都会有非常多的model类,比如界面上的每个卡片,都是解析Server返回的数据,然后解析出一个个卡片model对吧。 对…
黑科技保活:提升进程优先级的一种思路
前不久,看到维术大佬发表的一篇文章:另一种黑科技保活方法。文章内容主要是利用Android的2个bug(黑科技就是利用系统bug骚操作)来提升进程的优先级为前台进程,觉得挺有意思,于是决定找个时间研究一下。因为原文中大佬主要写的是思路,所以流程比较粗略,没有提供具体的demo实…
反思|官方也无力回天?Android SharedPreferences的设计与实现
而想要解除这些潜藏在内心最深处的困惑,就不得不从SharedPreferences本身的设计与实现讲起了。 我们知道,就在不久前2019年的Google I/O大会上,官方推出了Jetpack Security组件,旨在保证文件和SharedPreferences的安全性,Sh…
负一屏和桌面交互实现原理
1. 跨进程通信原理简介 两个应用之间的交互,势必涉及到跨进程通信,在说明负一屏和桌面的交互实现原理前,有必要先介绍下跨进程通信的原理,也就是 Binder 的通信过程,由于这不是本次重点,这里只是简单说明。 最后 Client 和 Server两者之前就互相持有对方的Bind…
一线大厂大型APP性能优化系列-自定义启动器(三)
但是如果有的方法自己需要依赖的方法执行完毕才能执行,比如 initJPushInterface() 可能需要先执行完毕 GetDeviceID() 执行完毕才能进行再执行,那么把它们都放入线程池里面并行执行就会产生问题,另外有的方法比如initBugly(); 必须先执行完它之…
Android UI 线程更新UI也会崩溃???
大家好,我是鸿洋。 上个周末是双休,我决定来颠覆一下大家的认知。 “小兄弟,你这个是没有在UI线程执行UI操作导致的错误,你搞个UI线程的handler.post一下就好了”。 但是... 这多年以前我就看过这样的文章,ViewRootImpl还没创建而已。 看你们这么强,我这…
抖音包大小优化-资源优化
随着业务的快速迭代,抖音 Android 端的包大小爆发式增长。包大小直接影响到下载转化率、推广成本、运行内存和安装时间等因素,因此对 apk 进行瘦身是一件很有必要且收益很大的事情。apk 主要由 dex、resource、asserts、native libraries 和…
如何让百度收录 GitHub Pages 个人博客
很多程序员朋友都有在 GitHub Pages 上搭建自己的个人博客,对于个人博客,没有被搜索引擎收录的话,别人基本是是看不到的,再好的技术文无法被分享也是白搭。 基于 GitHub Pages 的个人博客, Google 收录非常及时全面。然而,到目前为止,GitHub 还是…
抖音BoostMultiDex优化实践:Android低版本上APP首次启动时间减少80%(一)
我们知道,Android 低版本(4.X 及以下,SDK < 21)的设备,采用的 Java 运行环境是 Dalvik 虚拟机。它相比于高版本,最大的问题就是在安装或者升级更新之后,首次冷启动的耗时漫长。这常常需要花费几十秒甚至几分钟,用户不得不面对一片黑屏,熬过这段时间才能正…
下一页
个人成就
文章被点赞
137
文章被阅读
35,592
掘力值
1,027
关注了
30
关注者
1,300
收藏集
1
关注标签
51
加入于
2017-03-25