首页
AI Coding
数据标注
NEW
沸点
课程
直播
活动
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
登录
注册
确定删除此收藏集吗
删除后此收藏集将被移除
取消
确定删除
确定删除此文章吗
删除后此文章将被从当前收藏集中移除
取消
确定删除
编辑收藏集
名称:
描述:
0
/100
公开
当其他人关注此收藏集后不可再更改为隐私
隐私
仅自己可见此收藏集
取消
确定
Android
订阅
二代
更多收藏集
微信扫码分享
微信
新浪微博
QQ
14篇文章 · 0订阅
抖音 Android 性能优化系列:启动优化之理论和工具篇
启动性能是 APP 使用体验的门面,启动过程耗时较长很可能导致用户使用 APP 的兴趣骤减,本文基于过往对抖音 Android 客户端做启动性能优化的实战经验总结提炼出普适性的方法论,与大家分享。
Gradle基础 构建生命周期和Hook技术
对于初学者来说,面对各种各样的Gradle构建脚本,想要梳理它的构建流程,往往不知道从何入手。Gradle的构建过程有着固定的生命周期,理解Gradle的生命周期和Hook点,有助于帮你梳理、扩展项目的构建流程。 任何Gradle的构建过程都分为三部分:初始化阶段、配置阶段和执…
Java内存问题 及 LeakCanary 原理分析
前些天,有人问到 “开发过程中常见的内存泄漏都有哪些?”,一时脱口而出:静态的对象中(包括单例)持有一个生命周期较短的引用时,或内部类的子代码块对象的生命周期超过了外面代码的生命周期(如非静态内部类,线程),会导致这个短生命周期的对象内存泄漏。总之就是一个对象的生命周期结束(不…
面试:Handler 的工作机制是怎样的呢?
基本都用 RxJava 的线程调度切换,嗯对,就是那个 observeOn 和 subscribeOn 可以直接处理,比如网络操作,RxJava 提供了一个叫 io 线程的处理。 当然用过呀。 Handler 工作流程基本包括 Handler、Looper、Message、Me…
Activity启动流程(基于Android26)
Activity 启动流程,基于比较新的 Android 26 进行源码分析,欢迎大家一起讨论
2017Android 面试回忆录「上」(腾讯/阿里/滴滴/美团...)
2017 年中 腾讯、阿里、滴滴、美团 Android 面试集锦
HashMap就是这么简单【源码剖析】
threshold这个成员变量是阈值,决定了是否要将散列表再散列。它的值应该是:capacity * load factor才对的。 我们是根据key的哈希值来保存在散列表中的,我们表默认的初始容量是16,要放到散列表中,就是0-15的位置上。也就是tab[i = (n - 1…
Python 工匠:编写条件分支代码的技巧
我一直觉得编程某种意义上是一门『手艺』,因为优雅而高效的代码,就如同完美的手工艺品一样让人赏心悦目。 在雕琢代码的过程中,有大工程:比如应该用什么架构、哪种设计模式。也有更多的小细节,比如何时使用异常(Exceptions)、或怎么给变量起名。那些真正优秀的代码,正是由无数优秀…
应用被其他app打开时,不同启动模式下activity任务栈的变化
问题描述:我们的app被其他app启动进入MainActivity,然后MainActivity连续调用两次startActivity分别启动IndexActivity和CommonActivity,先启动的IndexActivity,然后启动的CommonActivity,然…