加载中
Android context使用场景

而如果写了个单例。 静态的对象,创建时引用了activity的context,那么activity本来应该是要被回收的,但是静态对象会一直在,除非项目被干掉了。 那么activity回收不了就会泄漏。 这时候要使...

06/22 09:39
15
Android 在服务Service中创建Dialog对话框

一般我们都是在Activity中创建dialog的,无论是系统的AlertDialog还是我们自定义的Dialog。 我们只需设置title,message等信息,然后show出来即可。 可是在服务中呢,没有activity,dialog没...

06/21 21:58
24
AsyncTask的缺陷和注意事项

1. AsyncTask 主要是用来处理后台耗时操作,并将数据更新到主线程的一个工具类。 AsyncTask的执行分为四个步骤,每一步都对应一个回调方法,这些方法不应该由应用程序调用,开发者需要做的就...

06/21 21:40
23
SystemUI之Qs Tile加载流程

Quick Settings行内人简称qs,是SystemUI必不可少的一部分。它主要负责打开关闭各个系统的功能模块,如wifi、蓝牙、手电筒等。 从图中可以看出,每一个系统功能都对应这一个按钮,而这个按钮...

面试:讲讲 Android 的事件分发机制

转眼间 面试系列 已经到了第九期了,由于文章将会持续更新,导致标题难看性,所以以后的标题将更正为本文类似的格式。 好了,话不多说,还是直入主题吧。 面试场景 讲讲 Android 的事件分发机...

06/21 14:46
9
Android进阶7:内存优化——LeakCanary原理分析

好的项目离不开健壮的代码,对于想要写出健壮的代码,解决内存泄漏是必须的。 对于LeakCanary,对于大多人是不陌生的,也就是检测内存泄漏的工具。可能在代码中我们会这样引入LeakCanary: /...

Android性能优化:手把手带你全面实现内存优化

示意图 1. 定义 优化处理 应用程序的内存使用、空间占用 2. 作用 避免因不正确使用内存 & 缺乏管理,从而出现 内存泄露(ML)、内存溢出(OOM)、内存空间占用过大 等问题,最终导致应用程序...

android中View, Window, Activity, WindowManager,ViewRoot几者之间的关系

iew:最基本的UI组件,表示屏幕上的一个矩形区域。 Window: 表示一个窗口,包含一个View tree和窗口的layout 参数。View tree的root View可以通过getDecorView得到。还可以设置Window的Con...

06/21 11:01
5
Android View 的工作原理(包含对 DecorView 和 ViewRoot 的简单介绍)

什么是 View ? View 是 Android 中所有控件的基类,View 可以是单个控件,也可以是由多个控件组成的一组控件。ViewGroup 里面可以有子 View,子 View 里面也可以有 ViewGroup。 什么是 View...

06/21 10:51
4
Android 库依赖冲突

问题描述 我们项目找经常经常看到库依赖冲突,例如下面的编译日志: FAILURE: Build failed with an exception. * What went wrong: Execution failed for task ':app:preDebugBuild'. > An...

06/20 19:13
6
Android进阶3:Activity源码分析(1) —— Activity启动流程(8.0)

关于Activity的源码分析,看了足足有半个月,理由就是: 1:Activity源代码很多,逻辑很复杂 2:下班再能加班学习,礼拜天抽空学习源码 至于为什么看源码:因为偶尔看到一句话:不懂Activit...

06/20 15:00
4
Android之用sharedUserId来实现不同应用(APK)数据共享

android:sharedUserId 当APK安装的时候,userid这个标志就会产生。APK在设备上的整个生命周期中,这个ID不再改变。不同设备上同一个应用包可能有不同的userid,重要的是在给定的设备上,每个...

06/20 09:36
12
Android中应用多进程的整理总结

前言 在计算机操作系统中,进程是进行资源分配和调度的基本单位。这对于基于Linux内核的Android系统也不例外。在Android的设计中,一个应用默认有一个(主)进程。但是我们通过配置可以实现一个...

06/20 09:15
5
探讨android更新UI的几种方法

作为IT新手,总以为只要有时间,有精力,什么东西都能做出来。这种念头我也有过,但很快就熄灭了,因为现实是残酷的,就算一开始的时间和精力非常充足,也会随着项目的推进而逐步消磨殆尽。我...

06/20 06:45
25
Android Broadcast广播机制分析

基于Android 6.0的源码剖析, 分析android广播的发送与接收流程。 framework/base/services/core/java/com/android/server/ - ActivityManagerService.java - BroadcastQueue.java - Broadc...

ANR源码分析之Service Timeout

在前面的一篇文章中,分析了Broadcast Timeout的流程,接下来继续分析Service Timeout的流程。Service默认不会运行在子线程中,它也不会运行在一个独立的进程中,它同样执行在UI线程中,因此...

Android源码笔记--SystemUIVisibility

SystemUIVisibility 最近在学习SystemUI时,涉及到了SystemUIVisibility,在此记录一下。虽然StatusBarManager以及StatusBarManagerService为应用程序以及系统服务提供了操作状态栏与导航栏的...

setSystemUiVisibility方法和getSystemUiVisibility方法

这两个方法的调用方式如下: getActivity().getWindow().getDecorView().setSystemUiVisibility; getActivity().getWindow().getDecorView().getSystemUiVisibility; 参考资料: http://blo...

06/18 16:14
2
Android 沉浸式状态栏实践

首先明确一下沉浸式状态栏的概念有两种类型 顶部是ImageView这种需要将其填充到状态栏 顶部是ActionBar这种不需要填充到状态栏 而上面的第二种情况覆盖了绝大部分页面,所以下面的思路也是基...

06/18 16:02
16
Android 自定义开机向导踩坑

开机向导简介 在Android设备第一次上电或者进行恢复出厂设置后第一次启动时运行的应用.用于对Android设备进行语言,网络等相关设置. Android源码中的开机向导 本文都是基于Android 8.0 系统源...

06/18 15:28
7

没有更多内容

加载失败,请刷新页面

返回顶部
顶部