程序员
文章平均质量分 90
OH五星上将
这个作者很懒,什么都没留下…
展开
-
我发现面试官对 Android 这些知识点百问不厌!(已整理)
开头为了准备面试复习了Android的一些原理知识,并陆陆续续的总结了一些面试相关的东西,因为太久没写面试之类的博客了,今天就想做一个Android面试知识的分享。但是无奈本人太蔡了(灬ꈍ ꈍ灬),在北京、深圳(远程视频面试)面试了十多家大厂就只拿到了乐视和小米的offer,综合来说小米的薪资比要比乐视高一点。听了朋友建议,选择了小米,打算着以后准备往音视频方向转型。首先从Android原理基础入手复习,然后就是一些面试进阶涨薪需要掌握的知识整理,**(包括了大厂的面试官百问不厌的Android拓展的原创 2021-03-19 21:40:23 · 448 阅读 · 0 评论 -
字节跳动(抖音)安卓客户端实习 3+1 面经(已 OC)
作者:小顾我是某本科学院的一名应届生,在学校学习的专业是软件开发。距离毕业之期不到半年,学校也在催促我们早点出校实习。开始我面试了几家中小型的软件公司,但一直觉得不是自己喜欢的。然后在年前通过我的一名学长内推去了字节跳动的抖音面试,12 月 31 号投的简历,1 月 6 号收到 HR 电话。隔这么长时间还是挺害怕的,以为简历都被筛掉了。下面是我在字节抖音的面经分享,一二面和 HR 面都是凭印象回忆的,可能会漏掉一些问题。一面(1 月 13 日,68 min)自我介绍简单讲讲你项目的整.原创 2021-03-17 17:48:09 · 806 阅读 · 0 评论 -
Android 直播中的悬浮小窗以及封装
悬浮小窗口在直播项目中还是比较常见的需求,在直播间打开其它界面或者退到桌面继续播放直播内容,下面是我的实现方案。效果图实现思路其实很容易想到,可以通过 WindowManager的 addView()实现,不过需要用户同意悬浮窗的权限,如果你的项目是应用内的悬浮窗,也可以去获取 DecorView给它添加一个View,这样就不用去获取权限了悬浮窗权限获取manifest添加权限<!-- 悬浮窗权限--><uses-permission android:name="and转载 2021-03-06 22:30:35 · 1535 阅读 · 0 评论 -
Flutter 2.0 重磅更新
好文推荐:作者:老孟Flutter链接:https://juejin.cn/post/6935818012490465293老孟导读:昨天期待已久的 Flutter 2.0 终于发布了,Web 端终于提正了,春季期间我发布的一篇文章,其中的一个预测就是 Web 正式发布,已经实现了,还有一个预测是:2021年将是 Flutter 大跃进的一年,等今年你年底总结的时候,让我们在来验证下这个预测是否应验。后面几天会陆续发布 Flutter 2.0 更新更加详细的内容更新,敬请关注。下面就让我们看.转载 2021-03-05 15:19:32 · 1016 阅读 · 0 评论 -
Android SDK 开发经验浅谈
好文推荐:作者:Ant_way1. 前言从事 SDK 的研发工作有近两年的工作时间了,期间一直在维护和开发公司的 Android 数据采集埋点 SDK。主要想通过这篇总结简要介绍下 SDK 开发过程中的一些经验。1.1 什么是 SDK相信做 Android 开发的同学,肯定使用过很多第三方的 SDK,比如极光 SDK、支付宝 SDK、微博 SDK 等等。所谓 SDK 就是一个开发工具包,全称是 Software Development Kit,翻译过来是软件开发工具包。SDK 通常是为辅助开发.转载 2021-03-04 16:25:26 · 788 阅读 · 1 评论 -
下一个十年,Android 开发的未来趋势!
前言人们最早的远程社交是从写书信开始,随着时代的发展慢慢就有了电报、有线座机电话、无线电话(大哥大)到3G、4G、5G手机无线通话。一直以来,社交平台持续探索新的互动方式,以满足人们不断更迭的社交需求。从2018年火爆的直播,再到越来越被大众依赖的实时音视频通话,高速发展的通信技术为社交平台的探索提供了更多可能。随着互联网行业的快速发展,将会改变了人与人之间的沟通方式。往后的图文沟通方式会越来越少,而音视频通话将会成为社交沟通方式主流。这也催生出大量的音视频通话相关的需求。但目前具备开发音视频通话能力原创 2021-02-25 16:41:46 · 779 阅读 · 0 评论 -
App怎么做才能永不崩溃
好文推荐:作者:吊儿郎当你们项目中怎么处理程序崩溃?当然是try住了那异常日志怎么收集呢?一般会手写一个工具类,然后在可能出问题的地方通过特殊的方法进行记录日志,然后找时机上传这位同学,你是不是没有睡醒,我问的是异常日志,是你未知状态的异常,难道你要把整个项目try住?这样啊,那可以写一个CrashHandler : Thread.UncaughtExceptionHandler,在Application中注册。然后在重写的uncaughtException(t: Thre..转载 2021-02-24 22:11:02 · 339 阅读 · 0 评论 -
每日一道Android 面试题,面试途中不败题
Android是一种基于Linux的自由及开放源代码的操作系统,主要使用于移动设备,如智能手机和平板电脑,由Google公司和开放手机联盟领导及开发。这里会不断收集和更新Android基础相关的面试题,目前已收集100题。1.Android系统的架构应用程序Android会同一系列核心应用程序包一起发布,该应用程序包包括Email客户端,SMS短消息程序,日历,地图,浏览器,联系人管理程序等。所有的应用程序都是使用JAVA语言编写的。应用程序框架开发人员可以完全访问核心应用程序所使用的API框架(转载 2021-02-23 13:44:08 · 52028 阅读 · 0 评论 -
Android 存储进化:分区存储
一 分区存储概述Android 10之前,Android的文件存储现象就像个垃圾桶,但凡app取得了存储空间的读写权限WRITE_EXTERNAL_STORAGE,就可以肆意创建文件,难以管理。用户体验也特别差,打开文件管理器,会发现,想找个具体的文件根本无从下手。1.1 分区存储原则为了更好地管理自己的文件并减少混乱,加强隐私保护,Android Q开始引入了分区存储机制。外部存储空间被重新设计,按应用私有和公用共享划分。应用只能访问到自己私有空间,或者通过MediaStore API 和Sto原创 2021-02-20 16:56:21 · 1323 阅读 · 0 评论 -
你应该知道的kotlin实用技巧
好文推荐:作者:RicardoMJiang前言众所周知,kotlin是google力推的用以取代java的android开发语言kotlin使用起来比较方便,同时有许多语法糖本文主要讲解了一些比较实用的kotlin技巧自定义圆角矩形在项目中,我们常常要定义圆角矩形背景,一般是用自定义drawable实现的但是圆角矩形的背景与圆角常常会有细微的变化,而一旦变化我们又要新创建一个drawable文件这样就会导致文件爆炸的问题我们可以利用kotlin的扩展函数,来实现简单方便的圆角矩形背景.转载 2021-01-25 22:30:56 · 511 阅读 · 0 评论 -
Android组件化跨进程通信框架Andromeda解析
好文推荐:作者:wanderingguy关于组件化随着项目结构越来越庞大,模块与模块间的边界逐渐变得不清晰,代码维护越来越困难,甚至编译速度都成为影响开发效率的瓶颈。组件化拆分是比较常见的解决方案,一方面解决模块间的耦合关系、将通用模块下沉,另一方面做到各模块代码和资源文件的隔离,这样便可以放心进行模块按需编译、单独测试等等。但随之而来的问题也愈加突出,模块的精细化拆分不可避免的增加了模块间的通信成本。通信的两侧是一个C/S架构,如果服务端与客户端同属一个进程我们称之为本地服务,如果分属不同进.转载 2021-01-22 22:35:49 · 1202 阅读 · 0 评论 -
Android 进阶延伸技术点,你能答出几个?
1、如何进行单元测试,如何保证 App 稳定 ?参考回答:要测试 Android 应用程序,通常会创建以下类型自动单元测试本地测试:只在本地机器 JVM 上运行,以最小化执行时间,这种单元测试不依赖于 Android 框架,或者即使有依赖,也很方便使用模拟框架来模拟依赖,以达到隔离 Android 依赖的目的,模拟框架如Google 推荐的 Mockito;检测测试:真机或模拟器上运行的单元测试,由于需要跑到设备上,比较慢,这些测试可以访问仪器(Android 系统)信息,比如被测应用程序的上下原创 2021-01-15 18:50:56 · 540 阅读 · 0 评论 -
丢弃LayoutInspector,换个方式看UI
好文推荐:作者:YvesCheung自从AS升级到4.x后,你的LayoutInspector会不会经常和我一样明明连着设备,却检测不到对应的进程?检阅速度非常慢,直到超时都没有出画面?勾选Live Update后,画面延迟成了PPT,最后放弃Live Update?终于,我放弃了LayoutInspector,选用更轻量的UinspectorUinsepctor是什么?Uinspector 是一个集成在Android应用内的ui检阅工具。开启 Uinspector 后,通过点击屏幕.转载 2021-01-14 21:06:16 · 618 阅读 · 0 评论 -
面试官:现在还有不会组件化的Android开发?
在正文之前,我们先来看一张电商项目的真实结构图。从上图中,大家能找到什么问题吗?接下来给大家好好分析分析从这个项目结构来看,典型的单一模块、MVC混搭,其实很多架构师都知道,这样的项目随着到了开发后期,会面临着以下几个问题:项目耦合非常严重,类与类之间的关系太杂乱每次修改代码重新编译等待时间过长项目太过于臃肿功能重用异常麻烦不适合多人开发正是因为这些问题的存在,才会让人开发起来越来越累。问题来了,项目已经这样了,怎么才能扭转乾坤呢,其实很简单没错,就是减肥,问题是功能不原创 2021-01-14 16:08:18 · 269 阅读 · 0 评论 -
字节面试官浅谈:Android面试细节,分分钟变身“offer”收割机!
一 . 前言前段时间,因为我们团队极度缺人,连续面了不少同学,正好借此分享一下自己对面试的一些浅见。谨代表个人观点,如果您觉得哪里说的不好,欢迎指教和批评~二 . 细节杂谈之所以是细节杂谈,说实话,是因为真的不知道可以写什么,网上关于Android面试的文章很多,大概看了几篇之后,更不知道写什么了。而根据自己这么多年来的面人和被面经验来看,发现其实有很多细节,在面试的时候都没有被好好重视起来。所以,这里针对这些细节做个总结,也希望可以对你们有所帮助。1. 准备一个良好的开场白首.原创 2021-01-12 22:30:33 · 428 阅读 · 0 评论 -
Android 组件化最佳实践 ARetrofit 原理
好文推荐作者:朱壹飞组件化Android组件化已经不是一个新鲜的概念了,出来了已经有很长一段时间了,大家可以自行Google,可以看到一堆相关的文章。简单的来说,所谓的组件就是Android Studio中的Module,每一个Module都遵循高内聚的原则,通过ARetrofit 来实现无耦合的代码结构,如下图:每一个 Module 可单独作为一个 project 运行,而打包到整体时 Module 之间的通信通过 ARetrofit 完成。ARetrofit 原理讲原理之前,我想先说.转载 2021-01-11 21:29:27 · 317 阅读 · 0 评论 -
Flutter&Android 启动页(闪屏页)的加载流程和优化方案
好文推荐:作者:哈吉达前言现在应用的普遍启动方式为:静态页面 -> 动图 -> 应用首页之所以这样设计的原因,大致如下:1、产品需求,如广告2、品牌展示3、应用规模较大时启动时间较长,相较于白屏,一张图片的过渡效果更好等等…。而Flutter由于引擎的创建和初始化需要一定时间,所以也提供了一个过渡方案(默认是白屏),位置在:AndroidManifest.xml下的<meta-data android:name="io.flutter.em.转载 2021-01-10 22:43:14 · 2017 阅读 · 1 评论 -
Android网络优化攻略,简单了解一下?
作者:究极逮虾户转载地址:https://juejin.cn/post/6896302142542315533面试官:小虾啊,我好想你啊,你都好久没来找我面试了呀。小虾:emmmmmmm,这不是怕被你打击吗。面试官:ok,看来是有备而来,那么我们今天聊聊网络优化咋做吧。小虾:我大意了,没有闪。老头子,你不讲武德,我奉劝你耗子尾汁。1. 如何优化一个网络请求呢?相信大家在面试的时候可能会被问到这个问题。今天我其实就是讲述下我知道的一些简单的优化方式,可以帮助大家在面试的过程中得到点基础分数。.转载 2021-01-06 22:42:37 · 507 阅读 · 0 评论 -
23岁程序员,毕业一年月薪9000,却焦虑的睡不着?劝你别这么干!
前言最近在网上看到一条帖子,“本人23岁是一名程序员,毕业也有两年了,目前薪资在9K多,在一家不知名的互联网公司任职,每天的工作量不是很多,工作的压力也不是很大”。但是自己非常的焦虑,因为看见很多人在做副业赚钱。自己每天却只能老老实实的敲代码,而且自己感觉做的事情的前景能一眼看得到头,自己也想去寻求副业,但又不知道该如何下手,所以导致自己比较焦虑。在这里小编想跟大家说的是:“千万不要被一些市面上教你如何做副业的人所迷惑”。之所以有许多人去拓展自己的副业,是因为他们的本职工作中已经没有太的升职空间了原创 2021-01-05 22:54:04 · 1238 阅读 · 1 评论 -
2021年之Android面经分享(已获头条、顺丰、OPPO等大厂Offer)
作者:莫少侠前言本人水平有限,此文针对于自认为技术实力对标阿里P6,百度T5或者以下的读者,如果是大佬不小心点进来了,可以自行点x略过。文内并不会出现每一家公司的面试过程细节,主要目的在于帮助大家怎么在像我一样菜的情况下在这寒冬拿下offer或者说有复习准备方向。背景介绍11月因公司团队解散而离职,突闻互联网最寒冬又双叒叕来了,什么小厂大量倒闭,大厂裁员或锁HC,慌得一批,惶惶不安准备了一个多星期后,开始踏上面试求职之路,截止最终确定入职单位总计用了二十多天(期间有一半时间在做颈椎康复治疗)。.原创 2021-01-04 22:40:19 · 822 阅读 · 0 评论 -
赶在2020最后一天,特此奉上一份Android 面经!
前言2020年的最后一份Offer,特此赶在2020的最后一天补上这份面经。本人是某渣院二本毕业,之前在学校学的专业是电商,毕业没两年就开始转行学编程,转眼间在Android 开发行业已经做了5年了。原本自己是在一家中型的互联网公司做Android开发,但自己一直有个想进大厂的梦,于是在2020下半年大胆的开始一些互联网大厂投简历,我投过简历的公司有:华为、Oppo、拼夕夕、字节跳动、腾讯等。但通知我去面试的公司只有3家,其中有两家以失败而告终。第三家本也没有报太大的希望,因为第三家是字节跳动,在面试中原创 2020-12-31 22:24:07 · 341 阅读 · 1 评论 -
Android事件分发机制
开始的开始当我手指触摸到手机屏幕后,给我所见即所得的触控体验,它的背后发生了什么?出于对它的好奇,就有了这篇文章。因为本人不喜欢大段大段的源码分析,所以本文尽量从设计的角度去把把事件分发机制的脉络,少贴源码是我的目标之一,虽然这么说,但当我把文章写完后最后发现依然贴了不少代码,想删减却没法减少,都是很核心的部分。本博客的主要内容如下:事件分发的整体设计ViewRootImpl的创建应用层级的事件分发流程为了后面更容易的理解事件分发机制,在介绍核心内容前,准备了一些前置知识。前置知识:View原创 2020-12-30 17:30:47 · 3223 阅读 · 0 评论 -
致敬Glide-借用其思想设计一个拍照选图控件
好文推荐:作者:思忆_GeorgeQin内容提要本文内容较长,包含一个功能整个重构从想法到设计以及落地的完整过程,通过阅读本文你可以收获:Glide 几个关键特性的设计原理以及对它们的思考(面试可用)编码从拓展性层面的考虑到面向对象编程的实践类似于RxJava的工作流的设计思想以及实践一些kotlin和Java 互相调用的小技巧一个功能强大的调用系统相机、系统相册的库以及它是如何被设计出来的背景鉴于最近对原有项目进行了老的代码的重构,其中的调用系统拍照选图模块就是我们日常遇到一个.转载 2020-12-29 22:56:11 · 299 阅读 · 0 评论 -
深入RecyclerView学习—缓存机制
好文推荐:作者:Codeing_ls前言RecyclerView作为替代ListView的组件,得益于RecyclerView的灵活性和可定制程度高的特性。除此之外RecyclerView的预取机制以及缓存机制也是RecyckerView的一大亮点。RecyclerView的灵活性是通过几个不同的组件协同实现的。LayoutManager:是布局管理器,用来决定视图如何填充RecyclerView。RecyclerView.Adapter:适配器是负责提供视图所需要的数据集以及管理视图的创建.转载 2020-12-28 22:48:32 · 420 阅读 · 0 评论 -
2020Android 开发年度总结:“这一年里我到底做了些啥,掌握了哪些技术?”
前言眼看2020年还有两天就要结束了,即将迎来2021新的一年。感觉今年比起往年要过稍稍的快一些,因为2020的开年工作时间比以往是晚了许多,基本都是在3月份左右开始投入工作。而以往基本都是大年初八左右,人们都开始投入工作了。小编把自己这一年的一些事件进行了总结,请看下方本人是一名Android 开发者,毕业3年,年龄到了人们常说的中年危机的年纪。30岁之前就常常在各大社交博客平台上看到一些程序员中年危机和Android 不行了等相关帖子,刚开始我还是有点慌,在想当初选择走开发这条道路是不是错的?.原创 2020-12-28 15:07:34 · 931 阅读 · 0 评论 -
程序员年底失业,到底是该年前找工作好还是年后找工作好?
最近在网上看见大家讨论的比较多的话题:“2020年快结束了,如果年底失业,到底是该年前找工作好还是年后找工作好?”其实我对于这个话题的观点是年前找工作比较好。为什么呢?首先因为人都是有种惰性的,一旦我们习惯于某种生活状态,我们其实是很难改变,尤其像我们程序员这种上班族来讲,你如果每天上班加班,习惯于这种状态了,你也就不会觉得怎么累了。其实这就是人的本性,当我们一直处于某一种状态的时候,你想要再去改变是比较困难。所以建议年前失业的朋友,一定要在年前把工作找好。另外从这个从机会的角度来看,年前的机原创 2020-12-25 22:10:17 · 4644 阅读 · 0 评论 -
Android开发这些知识点还没掌握?如何踏上高薪之路!
我所接触的Android开发者,百分之九十五以上都遇到了以下几点致命弱点!如果这些问题也是阻止你升职加薪,跳槽大厂的阻碍。那么我确信可以帮你突破瓶颈!作者2013年java转到Android开发,在小厂待过,也去过华为,OPPO等大厂待过,18年四月份进了阿里一直到现在。被人面试过,也面试过很多人。深知大多数初中级Android工程师,想要提升技能,往往是自己摸索成长,不成体系的学习效果低效漫长,而且极易碰到天花板技术停滞不前!我整理了一份腾讯T3级别的Android...原创 2020-12-23 17:17:24 · 239 阅读 · 0 评论 -
Android最傻瓜式的AOP框架
前景我们对Android的AOP有了初步的了解,但是其高门槛和学习成本还是让很多人望而却步。今天这里就给大家一个傻瓜式的AOP框架,这可能是Android最傻瓜式的AOP框架了。butcherknife 介绍乍看上去是不是有点眼熟,对我就是为了蹭JakeWharton大神的butterknife框架的热度,哈哈。这里 butcherknife我翻译成“屠刀”,意思是希望用最简单的方式能达到屠刀式的代码织入,能够完美处理Lambda表达式butcherknife 使用butcherknife是通过注原创 2020-12-22 16:25:44 · 866 阅读 · 0 评论 -
Jetpack架构组件库-LiveData实战与应用-总有适合你的方案
好文推荐:作者:heiyulong原文链接:https://juejin.cn/post/6907121024932773901前言先前针对LiveData 组件从使用到原理都做了充分的解析,可以参考链接:Jetpack架构组件库-LiveData只一篇你就会用Jetpack架构组件库-LiveData工作原理只一篇你就懂可以发现在使用 LiveData 分发数据的时候,是不会耦合任何 Context 对象的,并且是生命周期感知的,所以:这个机制就从框架层避免了 NPE(空指针异常),O.转载 2020-12-20 22:30:08 · 898 阅读 · 0 评论 -
基于AGP的Android组件化编译插件实践
作者:nebulae-pan概述组件化算是大型项目的一种较好的组织方案,可以很好解藕逻辑,单独编译需求模块方便测试复用,减少维护成本,甚至良好组件化的项目可以无痛过度到插件化。但是其也有相应的缺点,比如模块间需要额外通信手段导致编写复杂效率降低,不同模块需根据版本依赖并作额外管理。为了开发编译插件帮助项目达成解藕、复用、单独编译的目的,一般情况下要提供以下几种功能:单独运行(支持module作为App运行)不同module代码资源隔离(或者仅仅暴露指定接口)资源增加前缀以减少冲突Appl.原创 2020-12-18 17:56:33 · 855 阅读 · 1 评论 -
Android App开发之Jetpack架构
还记得15年那个时候,好像Android就是解析数据,列表展示,了解下四大组件生命周期,已经可以干活了,还记得当年一个View只要能滑动,就大呼自定义控件牛逼。不过,近几年的变化颇大。为了丰富大家日常开发的UI效果效果: Material Design进入大家的视野,后面陆陆续续涌现出一大批UI组件:DrawerLayout,AppbarLayout,CoordinateLayout,ToolBar,NestedScrollView,FlexBoxLayout等...在UI组件日益完善的同时,也原创 2020-11-30 22:18:19 · 821 阅读 · 1 评论 -
Android开发面试之RxJava
好文推荐:作者:xiangcman大家都知道RxJava上手是非常难的一个框架,为什么说是难呢,因为它的功能非常强大,各种操作符让人很难上手,搭配使用带生命周期的框架有RxLife等。以至于后面出了很多类似Rxjava的框架,有RxAndroid,我们用的RxJava切换主线程就是出自该框架,后面ACC架构中有LiveData、Lifecycle、包括后面协成中出来的flow异步流,都是向Rxjava靠拢,不过ACC出来的这些框架他们最大的特点就是操作简单,上手简单。所以RxJava强大的框架背后.转载 2020-11-30 21:52:34 · 3685 阅读 · 2 评论 -
三年多的Android开发经验该如何进阶提升?我真的是太菜了
最近在知乎看见这么一则问答,说的是“自己做了三年的Android开发,还会觉得自己很菜”其实有许多开发者都有经历过,还有一些开发者可能正在尽力这段过程。以前刚出学校找工作的时候,是抱着一个学习的心态工作,经过岁月的磨练,天天就是复制粘贴,导致自己学习的心态就慢慢的放下了,等到自己想换工作跳槽的时候,才意识到这几年荒废了自己,技术不但没有什么提升反倒退不了。我们可以通过上图这个案例就可以看出,经过自己三年的颓废,通过跳槽面试才发现自己的技术水平是多么的差,面试官问的问题基本没几个能答的上来。我的技术水原创 2020-11-12 21:05:30 · 2003 阅读 · 1 评论 -
面试官:“看你简历上写熟悉 Handler 机制,那聊聊 IdleHandler 吧?”
作者:承香墨影一. 序Handler 机制算是 Android 基本功,面试常客。但现在面试,多数已经不会直接让你讲讲 Handler 的机制,Looper 是如何循环的,MessageQueue 是如何管理 Message 等,而是基于场景去提问,看看你对 Handler 机制的掌握是否扎实。本文就来聊聊 Handler 中的 IdleHandler,这个我们比较少用的功能。它能干什么?怎么使用?有什么合适的使用场景?哪些不是合适的使用场景?在 Android Framework 中有哪些地方用.转载 2020-11-04 22:34:49 · 213 阅读 · 0 评论 -
Android题集四大组件之Content provider、BroadcastReceiver
目录BroadcastReceiver这是一种让系统在正常的用户流之外,传递事件给APP的机制,BroadcastReceiver也就是“广播接收者”的意思,顾名思义,它就是用来接收来自系统和应用中的广播。广播类型有几种?标准广播:调用sendBroadcast()发送,最常用的广播。有序广播:调用sendOrderedBroadcast(),发出去的广播会被广播接受者按照顺序接收,广播接收者按照Priority属性值从大-小排序,Priority属性相同者,动态注册的广播优先,广播接收者还可原创 2020-11-04 21:58:15 · 421 阅读 · 0 评论 -
Android题集四大组件之Service
Service什么是Service?有需求需要APP在后台运行时,Service就是一个这样的入口,Service是一种可以在后台执行长时间运行操作而没有用户界面的应用组件,后台服务于Activity,封装有一个完整的功能逻辑实现,接受上层指令,完成相关的事务,定义好需要接受的Intent提供同步和异步的接口。Service的生命周期Service的启动方式?如果启动方式交织在一起的话,会出现什么情况?Service 有绑定模式和非绑定模式,以及这两种模式的混合使用方式。不同的使用方法生命周期.原创 2020-11-04 21:39:24 · 527 阅读 · 0 评论 -
Android题集四大组件之Activity
目录Activity描述一下Activity 生命周期?onCreate() Activity第-次被创建的时候调用,一些初始化操作可以在这里完成。onStart() 这个方法在Activity 由不可见变为可见的时候调用。onResume() 这个方法在Activity 准备好和用户进行交互的时候调用。此时的Acivity一定位于返回栈的栈顶,并且处于运行状态。onPause() 这个方法在系统准备去启动或者恢复另-个Activity的时候调用。onStop() 这个方法在Activit原创 2020-11-04 21:21:17 · 492 阅读 · 0 评论 -
2020都快过完了,这一年的Android 面经该出来了
本人2016年毕业,目前从事Android开发工作已经4年啦,前段时间刚完成一次跳槽,面试了几家公司,将一些面试经验分享给大家,希望对大家有所帮助。简历首先是简历,一般找一个模板,填写掌握的技能和项目经历即可。如:项目clone后,个性Resuem.md即可,然后导出为pdf文件。简历建议长度为2页,太长太短都不好。建议用掌握与熟练掌握取代了解与精通。刷题算法题可以说是现在找工作必刷的了。不过根据我面试的经验,算法题总得来说问的还是比较少,还有一些公司是基本不问算法的。当然如果碰到字节,原创 2020-11-04 16:02:34 · 330 阅读 · 0 评论 -
Android 消息屏障与异步消息
作者:AhabAndroid 消息机制中的 MessageQueue 可以存放三种类型的消息,普通消息、消息屏障和异步消息。其中消息屏障和异步消息搭配使用,可以达到屏蔽普通消息、优先处理异步消息的目的。##「目录:」如何插入一个消息屏障?如何删除一个消息屏障?如何插入一个异步消息?消息屏障对插入消息有什么影响?消息屏障是如何优先处理异步消息的?Framework 中哪里使用了消息屏障?1. 如何插入一个消息屏障?见 MessageQueue 的 postSyncBarrier.原创 2020-11-03 22:35:21 · 615 阅读 · 0 评论 -
Android进阶知识:RxJava相关
1. 前言RxJava核心功能是一个用来完成异步操作的库,相对于其它异步操作的方法,RxJava的API使用更加的简洁。并且RxJava中还提供了很多功能强大的操作符,帮助我们解决很多原本复杂繁琐的代码逻辑,提高了代码质量。RxJava的实现是基于观察者模式,观察者模式中以下有三个比较重要的概念:被观察者(Observable)观察者(Observer)订阅(subscribe)被观察者是事件的发起者,被观察者与观察者建立订阅关系后,被观察者发送事件,观察者才能接收到事件。2. 基础使用R原创 2020-11-03 22:23:47 · 349 阅读 · 0 评论