![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
android知识回顾
文章平均质量分 90
龙腾腾
凡是过往,皆为序章。
展开
-
Android Fragment 常见问题
1、Fragment与Activity生命周期https://juejin.cn/post/70213987310564802692、add和replace的区别add方式实现fragment的效果就是:切换fragment时不会重新创建,是什么样子切换回来还是什么样子;用replace的效果就是:切换fragment时每次都会销毁前一个Fragment重新创建初始化。3、Fragment应用于GlideGlide 是如何判断容器是否还处于活跃状态的呢?类似于 Jetpack 组件中的 Life转载 2022-03-20 16:21:43 · 622 阅读 · 0 评论 -
LiveDataBus的实现比你想象中的简单
原文链接:https://www.jianshu.com/p/9b00422fbcc1为什么要用LiveData实现事件总线呢?LiveData 是一种可观察的数据存储器类。与常规的可观察类不同,LiveData 具有生命周期感知能力,意指它遵循其他应用组件(如 Activity、Fragment 或 Service)的生命周期。这种感知能力可确保 LiveData 仅更新处于活跃生命周期状态的应用组件观察者。LiveData 具有生命周期感知能力,确保界面符合数据状态,不会发生内存泄露,不会因 Ac转载 2020-09-20 19:51:06 · 495 阅读 · 0 评论 -
Android中RelativeLayout和LinearLayout性能分析和优化
原文地址:https://www.jianshu.com/p/8a7d059da746https://blog.csdn.net/yang1349day/article/details/80359064https://developer.android.google.cn/training/improving-layouts/Google开发者文档的时候看到这句话:Optimizing Layout HierarchiesIt is a common misconception that usi转载 2020-09-20 15:10:16 · 320 阅读 · 0 评论 -
Java线程池有哪些,作用分别是什么,原理是什么?
join() 方法详解及应用场景原创 2020-09-14 21:09:03 · 489 阅读 · 0 评论 -
android onWindowsFocusChanged()
概述从字面上来讲,onWindowsFocusChanged()方法是指当窗口焦点变化的时候;从意义来说,onWindowsFocusChanged()就是指当前的Activity的Windows(窗口)获取或者失去焦点时这个方法就会被调用,并且当回调这个方法时,Activity是完全可见的。在Activity生命周期中,onStart(), onResume(), onCreate()都不是布局visible的时间点,真正的visible时间点是onWindowFocusChanged()函数被执行时转载 2020-08-20 18:47:59 · 2102 阅读 · 0 评论 -
SharedPreferences原理及相关分析
问:1、 听说提交要用apply(),为什么?2、和commit()什么区别?3、跨进程怎么操作?4、会堵塞主线程吗?5、很着急有替代方案吗?一、加载/初始化一切从getSharedPreference(String name,int Mode)这个方法说起;通过这个方法获取到一个SharedPreference实例。SharedPreferences是一个接口(interface),他的具体实现类为SharedPreferencesImpl。SharedPreference的加载的主要转载 2020-07-29 10:43:16 · 1207 阅读 · 0 评论 -
android系统源码下载和在线查看
1、关于源码的阅读,你可以访问http://androidxref.com/来阅读系统源码。当然,最好是将源码下载下来。2、下载源码可以使用清华大学开源软件镜像站提供的Android 镜像:https://mirrors.tuna.tsinghua.edu.cn/help/AOSP/ 。3、如果觉得麻烦也可以查找国内的网盘进行下载,推荐使用该百度网盘地址下载:http://pan.baidu.com/s/1ngsZs,它提供了多个Android版本的的源码下载。...原创 2020-07-16 09:24:05 · 452 阅读 · 0 评论 -
Android百问
1、activity的启动流程?https://blog.csdn.net/u012267215/article/details/914062112、activity的生命周期相关问题https://mp.weixin.qq.com/s/vS8ldT0r_ZKnlca5a1R00Q3、系统的启动流程?4、Jvm虚拟机5、类加载的过程6、双亲委派机制7、JVM,DVM,ART的区别?8、事件在framework的创建流转过程?9、SpareArray和HashMap的区别?10、缓存池的原创 2020-07-16 09:21:20 · 225 阅读 · 0 评论 -
Android AMS和Android系统的启动流程
AMS:ActivityManagerService是Android中的一个重要的服务,可以调度Activity和Service的生命周期,启动或者杀死app的进程等作用。Activity系统的启动流程在启动SystemService前,会启动Binder线程池,这样的话SystemService启动好了后,可以与Zygote孵化器跨进程通信。Launch应用程序:是用来显示系统中已经安装的App图标,是启动根Activity的入口。init进程启动启动内容主要有:Linux内核,init进程,转载 2020-07-15 17:29:52 · 587 阅读 · 1 评论 -
Activity启动流程
Activity启动流程分两种,一种是启动正在运行的app的Activity,即启动子Activity。如无特殊声明默认和启动该activity的activity处于同一进程。如果有声明在一个新的进程中,则处于两个进程。另一种是打开新的app,即为Launcher启动新的Activity。后面启动Activity的流程是一样的,区别就是前面判断进程是否存在的那部分。Activity启动的前提是已经开机,各项进程和AMS等服务已经初始化完成。Activity启动之前init进程:init是所有linux转载 2020-07-15 17:00:40 · 363 阅读 · 0 评论 -
Android 模块化、组件化、插件化、热修复的区别
1、模块化Android Studio提出的概念,module模块,包含两种格式application和library。概念是一个module是一个小项目,相对于包来说模块更灵活,耦合更低,随意插拨,根据不同关注点将项目共享部分或业务模块抽取出来形成独立module。2、组件化基于模块化,核心思想是角色的转换,在打包时是library,开始调试是application。单位是组件(module),目的是解耦与加快开发,隔离不需要关注的部分。分离独立的业务组件如微信朋友圈。3、插件化也是属于模块化的原创 2020-07-02 17:51:01 · 921 阅读 · 0 评论 -
Android Dalvik、ART及APK编译过程
原文链接:https://www.jianshu.com/p/92227738f270一、什么是Dalvik虚拟机Dalvik是Google公司自己设计用于Android平台的Java虚拟机,它是Android平台的重要组成部分,支持dex格式(Dalvik Executable)的Java应用程序的运行。dex格式是专门为Dalvik设计的一种压缩格式,适合内存和处理器速度有限的系统。Google对其进行了特定的优化,使得Dalvik具有高效、简洁、节省资源的特点。从Android系统架构图知,Dal原创 2020-06-30 09:41:52 · 4469 阅读 · 0 评论 -
synchronized关键字的原理
原文地址:https://juejin.im/post/5d439934e51d4561b416d3f2synchronized关键字什么是synchronizedJDK官网对synchronized关键字有个比较权威的解释。Synchronized keyword enable a simple strategy for preventing thread interference and memory consistency errors: if an object is visible to转载 2020-06-23 15:33:12 · 262 阅读 · 0 评论 -
深入研究 synchronized 同步锁 作用于 静态方法 和 非静态方法 的 区别
1.前言众所周知, synchronized 是同步锁 ,虽然在底层又细分了无锁、偏向锁、轻量级锁、自旋锁 以及重量级锁 机制,这些底层锁知道一下原理即可 ,【想要 了解 这篇 博文 有 解释 : https://blog.csdn.net/u013256816/article/details/51204385 】我这篇随笔专门研究与总结 关于 synchronized 加 在 同一个类里的 静态 和非静态 方法前 有什么不一样的影响 。这都是因为我看到的一道题引起的:答案是 BE为什么?查转载 2020-06-23 15:14:16 · 983 阅读 · 0 评论 -
android context讲解
看了一篇简书的,拿过来:https://www.jianshu.com/p/f0fb461a2b2cActivity mActivity =new Activity()作为Android开发者,不知道你有没有思考过这个问题,Activity可以new吗?Android的应用程序开发采用JAVA语言,Activity本质上也是一个对象,那上面的写法有什么问题呢?估计很多人说不清道不明。Android程序不像Java程序一样,随便创建一个类,写个main()方法就能运行,Android应用模型是基于组件的应原创 2020-06-20 14:03:39 · 165 阅读 · 0 评论 -
android 线程详解
一、实现线程的几种方法及区别进程:简单来说它是线程的载体,其实它不单单是线程的载体,这个想知道可以自行百度,不是我们今天要讨论的重点线程:程序执行流的最小单元,是被系统独立调度和分派的基本单位,线程自己不拥有系统资源,只拥有一点儿在运行中必不可少的资源。线程和进程的关系:同一进程中可以有多个线程,每个线程可与同属一个进程的其它线程共享进程所拥有的全部资源。线程是CPU调度的最小单元,但是线程是一种有限的系统资源;而进程一般指一个执行单元,在PC和移动设备上指一个程序或者一个应用。一般来说,一个app原创 2020-06-11 14:40:37 · 562 阅读 · 0 评论 -
android IntentFilter详解
1.由一个问题引发的思考:对于启动一个广播,静态注册一个广播,intent-filter中什么也不设置,在发送广播中对intent也不设置,是否可以匹配到?写代码验证,直接编译不通过:Missing one of the key attributes ‘action#name,category#name’ on element intent-filter at AndroidManifest.xml:20:13-25:292.IntentFilter过滤规则的全面学习(1)IntentFilter转载 2020-05-28 17:57:20 · 1986 阅读 · 0 评论 -
android fragment和activity生命周期的关系
1.Fragment 为什么会被称为第五大组件?Android 中的 4 大组件为:Activity,Broadcast,Service,ContentProvider,那么为什么Fragment 可以称之为第 5 大组件呢?你可以这么回答:因为 Fragment 有生命周期,使用频率不输于 4 大组件,可灵活加载到 Activity 中。然后谈论谈论 Fragment 如何加载到 Activity 中:1.1 Fragment 加载到 Activity 的 2 种方式Fragment 加载到原创 2020-05-27 16:35:58 · 871 阅读 · 0 评论 -
Android 四大组件--Activity篇,生命周期正常和异常情况下的流程等,切换竖屏会执行两次onCreate吗?
1.Activity 是什么?Activity是一个Android应用程序组件(也称为Android四大组件之一),它提供了一个屏幕,用户可以通过该屏幕进行交互以执行某些操作,例如拨打电话,拍照,发送电子邮件或查看地图。每个活动都有一个窗口,用于绘制其用户界面。窗口通常填满屏幕,但可能比屏幕小,并漂浮在其他窗口的顶部.Android应用程序通常由多个彼此松散绑定的Activity组成。通常,应用程序中的一个Activity被指定为“主要”Activity,该Activity在首次启动应用程序时呈现给用户原创 2020-05-27 14:08:19 · 1213 阅读 · 2 评论