![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Android
文章平均质量分 88
m0_54850467
这个作者很懒,什么都没留下…
展开
-
985硕艰难转行Android之路 加面经分享,美团安卓面试
2.mvvm用到的设计模式3.viewmodel的实现原理4.viewmodel怎么更新数据的5.安卓的线程通信6.looper阻塞为什么不会造成ANR7.广播里怎么执行耗时操作8.阻塞多久会出现ANR9.开发遇到的一些异常,怎么处理10.线程安全的队列有哪些11.concurrenthashmap详解12.fragment的生命周期13.安卓里解决多线程冲突的方法14.volatile详解、synchronized详解,两者区别15.activity生命周期16.onStart原创 2022-04-22 16:52:31 · 101 阅读 · 0 评论 -
2020Android开发陷入饱和,移动开发者未来的出路在哪里,我们该如何让应对?
活动管理者(Activity Manager):控制应用程序生命周期和活动栈的所有方面内容提供器(Content Providers):允许程序之间发布和分享数据。资源管理器(Resource Manager):提供对非代码嵌入资源的访问,如字符串、颜色设置和用户界面布局。通知管理器(Notification Manager):允许应用程序显示对话框或者通知给用户视图系统(View System):一个可拓展的视图集合,用于创建应用程序用户界面3,系统运行库层程序库Android包含一些C.原创 2022-04-22 16:43:31 · 202 阅读 · 0 评论 -
Android Framework学习笔记(九)Broadcast的注册
userId, receiver);if (rl.app != null) {rl.app.receivers.add(rl);} else {try {receiver.asBinder().linkToDeath(rl, 0);} catch (RemoteException e) {return sticky;}rl.linkedToDeath = true;}mRegisteredReceivers.put(receiver.asBinder(), rl);}…Broad原创 2022-04-21 13:03:16 · 203 阅读 · 0 评论 -
Android App Bundle 已取代 APK
从2021年8月开始,Google Play控制台将要求所有新应用程序具有以下功能:以**[Android App Bundle](()**格式发布(不超过150MB)。利用[Play Feature Delivery](() 或 [Play Asset Delivery](() 来交付下载大小超过150MB的资产或功能。新应用将不再支持扩展文件(OBB)。定位到30级(Android 11)或更高级别的API,并针对[行为上的变化进行](()调整。更新原创 2022-04-20 13:38:05 · 582 阅读 · 0 评论 -
Activity快速转换为Diglog
/**判断支付宝是否可用@param context@return*/public static boolean checkAliPayInstalled(Context context) {Uri uri = Uri.parse(“alipays://platformapi/startApp”);Intent intent = new Intent(Intent.ACTION_VIEW, uri);ComponentName componentName = intent.r原创 2022-04-20 13:36:19 · 126 阅读 · 0 评论 -
2020倒计时,大厂核心送给每一个脚踏实地努力着的Android程序员,逆风前行
Android前景的压力:面试的压力:寒冬的压力: 《Android学习笔记总结+最新移动架构视频+大厂安卓面试真题+项目实战源码讲义》开源年龄的压力:等等…其实每个人都有自己的差异点,你总有一些和别人不同的地方。成功的时候,这些都是你的闪光点。失败的时候,这些都是你的致病因。成功学有它的一套方法,但真正成功的人不是靠成功学,而是行动。这些大佬唯一的共同点就是行动力强,没有行动力的同学请先锻炼你的精力,精力充沛后请动起来做一件你最想做的事,接下来的事情就交给时间和概率。运气好,你会在短时间原创 2022-04-20 13:31:55 · 80 阅读 · 0 评论 -
2020下半年,最接地气的字节跳动Android面经分享(已收offer
二面面试官见到我特别和蔼,一直笑 ,这一面只有一半问技术,另一半问平时怎么学习的,之前的学习经历这种东西 :自我介绍+项目介绍mvp mvvm mvcmvvm和mvp区别viewmodel怎么实现的,原理问我有没有了解什么异于常人的地方说说ssl tls的发展历程,http的发展历程,tcp拥塞控制的几个算法,如何实现udp的可靠传输,quic协议,dns协议的过程。之后又问我对安卓的哪些地方感觉设计的比较好自己学了安卓,感觉哪些地方比较有意思kotli原创 2022-04-20 13:29:40 · 212 阅读 · 0 评论 -
2019Android面试总结(附相关架构及资料)
在面试准备阶段我大概准备了差不多两个礼拜多一点的时间。这段时间重点是做两件事,第一是准备简历,第二是大概过一下面试题。简历的编写其实这里可能需要注意几点标题的直接按照姓名-几年工作经验-应聘岗位格式来填写。例如 张三——三年工作经验——Android开发工程师。因为要知道,HR筛选简历是非常快的,你要在第一时间就让他看到他想要看的信息。HR一开始最关心的就是工作年限和岗位,你直接在标题栏用最大的字体写出来会比很多人介绍了半天项目最后写年限要好得多。个人信息写最前面。 个人信息栏其实不用写很多东原创 2022-04-20 13:27:28 · 60 阅读 · 0 评论 -
35岁Android程序员面临失业,是不是该考虑转行了?
那么做一个牛逼的程序员,是不是没必要呢?恰恰相反,35岁失业的原因之一,是因为个人能力与年龄不匹配。刚毕业的头几年,你会发现似乎很好找工作,市场也很好,那是因为市场对你的要求不高。当你35岁了,市场对你的要求是一个工作十多年的高级工程师、技术专家、业务骨干。如果你对自己的要求还是和前几年一样,必然双方会有落差,十几年的时间,不说一年经验干十年,大部分人是3年经验干十年,人都是有惰性的,程序员又是一个需要不断学习不断提高自身技术能力的职业。如果你目前的经验和能力完全能胜任你目前的工作,你能做到每天原创 2022-04-19 13:28:45 · 3219 阅读 · 0 评论 -
2020Android面试心得,已拿到offer
(一)Java一、HashMap和Hashtable区别?这个一定要去看源码!看源码!看源码!实在看不下去的可以上网看别人的分析。简单总结有几点:1.HashMap支持null Key和null Value;Hashtable不允许。这是因为HashMap对null进行了特殊处理,将null的hashCode值定为了0,从而将其存放在哈希表的第0个bucket。2.HashMap是非线程安全,HashMap实现线程安全方法为Map map = Collections.synchronziedMap.原创 2022-04-19 13:26:49 · 160 阅读 · 0 评论 -
15 三数之和
注意:答案中不可以包含重复的三元组。例如, 给定数组 nums = [-1, 0, 1, 2, -1, -4],满足要求的三元组集合为: [ [-1, 0, 1], [-1, -1, 2] ]一. 暴力法,直接用三个指针遍历数组public static List<List> threeSum(int[] nums){Arrays.sort(nums); //数组排序List<List<Inte 《Android学习笔记总结+最新移动架构视频原创 2022-04-19 13:22:12 · 71 阅读 · 0 评论 -
2020最新中高阶Android面试题总结-下(附解题思路)
2.ViewGroup和View组成了一个树状结构,根节点为Activity内部包含的一个ViwGroup。3.触摸事件由Action_Down、Action_Move、Aciton_UP组成,其中一次完整的触摸事件中,Down和Up都只有一个,Move有若干个,可以为0个。4.当Acitivty接收到Touch事件时,将遍历子View进行Down事件的分发。ViewGroup的遍历可以看成是递归的。分发的目的是为了找到真正要处理本次完整触摸事件的View,这个View会在onTouchuEvent结果原创 2022-04-18 13:10:49 · 285 阅读 · 0 评论 -
2020年了,跨平台开发框架现在怎样了?
多年来,跨平台移动开发已经获得了最流行软件开发趋势之一的声誉。这并不令人意外,因为采用跨平台开发技术使得软件工程师使用同一代码就能为不同平台构建应用程序,从而节省时间、金钱以及不必要的工作。[](()移动市场的现状截至2019年12月,全球活跃网民已超45亿。他们每人平均上网时间为6小时42分钟,相当于每年上网超过100天。再加上人们越来越渴望从掌上设备中获取海量的信息,也就为之所以移动应用程序会如此受到欢迎提供了合理的解释。截至 2019 年,全球移动应用收入达 4610 亿美元,预计到 2023原创 2022-04-18 13:09:03 · 239 阅读 · 0 评论 -
2019-金三银四:阿里P9架构的Android大厂面试题总结
本地广播和全局广播有什么差别?BroadcastReceiver,LocalBroadcastReceiver 区别AlertDialog,popupWindow,Activity区别Application 和 Activity 的 Context 对象的区别Android属性动画特性如何导入外部数据库?LinearLayout、RelativeLayout、FrameLayout的特性及对比,并介绍使用场景。谈谈对接口与回调的理解回调的原理写一个回..原创 2022-04-18 13:02:30 · 283 阅读 · 0 评论 -
1307页字节跳动Android面试真题解析火爆全网,完整版开放下载
AsyncTask相关Android 事件分发机制onTouch和onTouchEvent区别,调用顺序dispatchTouchEvent, onTouchEvent, onInterceptTouchEvent 方法顺序以及使用场景滑动冲突,如何解决事件分发机制事件分发解析dispatchTouchEvent, onTouchEvent, onInterceptTouchEvent方法的使用场景解析[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-JQoq原创 2022-04-18 13:00:19 · 139 阅读 · 0 评论 -
android-bitmap的缓存策略
public linkedhashmap(int initialcapacity, float loadfactor, boolean accessorder) {super(initialcapacity, loadfactor);init();this.accessorder = accessorder;}所以在lrucache中应该选择accessorder = true,当我们调用put、get方法时,linkedhashmap内部会将这个item移动到链表的尾部,即在链表尾部是最近刚刚使原创 2022-04-17 12:26:23 · 293 阅读 · 0 评论 -
Android 应用内自定义随机布局输入法
package com.demo.customime;public interface Constant {int CodeDelete = 60001;int CodeCancel = 60002;}KeyboardBuilderpackage com.demo.customime;import android.app.Activity;import android.inputmethodservice.Keyboard;import android.inputmethodservice原创 2022-04-17 12:24:29 · 1371 阅读 · 0 评论 -
Android 上玩转 DeepLink:如何最大程度的向 App 引流
指向id=123457的新闻专题页:zljnews://zljnews/story/123457/指向id=123456的新闻讨论页:zljnews://zljnews/article/123456/comments/这样的我们的 Manifest 里 RouterActivity 的声明要改为:App Links 与 Universal Links,来自官方的方式我们假设一个用例:用户在印象笔记里写了一篇笔记,笔记里有一个链接: http://news.zhoul原创 2022-04-17 12:22:27 · 2059 阅读 · 0 评论 -
Android Retrofit 2
网络请求流程App应用程序通过 Retrofit 请求网络,实际上是使用 Retrofit 接口层封装请求参数、Header、Url 等信息,之后由 OkHttp 完成后续的请求操作在服务端返回数据之后,OkHttp 将原始的结果交给 Retrofit,Retrofit根据用户的需求对结果进行解析[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-FldYG5i4-1650169235454)(https://user-gold-cdn.xitu.io/2019/3/28原创 2022-04-17 12:20:54 · 1692 阅读 · 0 评论 -
Android AutoService 组件化
}object AutoService {fun load(clazz: Class): S? {val service = ServiceLoader.load(clazz).iterator()try {if (service.hasNext()) {return service.next()}} catch (e: Exception) {e.printStackTrace()}return null}}以上就完成了 组件化的初步构建,结构如下图![](https://原创 2022-04-17 12:19:24 · 1793 阅读 · 0 评论 -
Activity知识点总结
#####ViewGroup中分发分发流程dispatchTouchEvent -> onInterceptTouchEvent处理流程-> onTouch -> onTouchEvent -> onClick[](()五、Activity启动模式,实现页面自由切换=====================================================================================[](()5.1 管理类Activ原创 2022-04-17 12:17:37 · 328 阅读 · 0 评论 -
4面字节跳动拿到2-2-Offer,入职就是30K16薪,全靠这份Android知识点PDF大全
刷题当然也是最重要的,毕竟我是有好几年没有过正规面试的经历了,于是问我在阿里的同学要来了一份他们公司P8整理的一系列大厂面试题,刷到天昏地暗,如今我也已经入职了字节跳动,这些面试题对于我来说也没什么太大的用处,所以在这里无偿的[分享](()给大家。字节跳动面试经历字节跳动一面自我介绍介绍下Android的mvc/mvp/mvvmview的事件分发机制viewGroup 怎么知道view有没有消费事件写一个单例模式(解释单例模式中的sync,双锁,volidate)算法题目:有A和B两个有原创 2022-04-17 12:13:32 · 1084 阅读 · 0 评论 -
Android webView 的一个坑,字体怎么突然变小了
搜索发现 Web 网页的代码适配单位是 rem,有点类似于 dp。Web 网页在适配分辨率的时候,通常会设置 viewport 属性于是我尝试在代码里面加了这样的代码,发现 SignatureWebView 显示个性签名又正常了。parsedHtml += “<meta name=“viewport” content=“width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no,viewp原创 2022-04-15 16:36:52 · 753 阅读 · 0 评论 -
Android Studio常用快捷键、Android Studio快捷键大全
Alt+回车 导入包,自动修正Ctrl+N 查找类Ctrl+Shift+N 查找文件Ctrl+Alt+L 格式化代码Ctrl+Alt+O 优化导入的类和包Alt+Insert 生成代码(如get,set方法,构造函数等)Ctrl+E或者Alt+Shift+C 最近更改的代码Ctrl+R 替换文本Ctrl+F 查找文本Ctr Android开源项目《ali1024.coding.net/public/P7/Android/g原创 2022-04-15 16:35:22 · 9480 阅读 · 2 评论 -
Android AutoService 组件化
Timber.tag(TAG).d(“callBackName:callBackName,Response:callBackName,Response:callBackName,Response:response”)}})}}同时也在 common 创建一个 Command 接口,由实现类去处理事件、响应web请求。interface Command {fun name(): Stringfun execute(params: String,callBack:IMainProToWebPro原创 2022-04-15 16:33:34 · 235 阅读 · 0 评论 -
andriod搭建自己的轮询框架
}};mScheduler.scheduleAtFixedRate(command, initialDelay, period, TimeUnit.MILLISECONDS);}public void clearScheduleTasks() {mScheduler.shutdownNow();}}代码分析Android开源项目《ali1024.coding.net/public/P7/Android/git》先给出类图之间的关系如下:[外链图片转存失败,源站可能有防盗链机制,建议将图原创 2022-04-15 16:31:52 · 302 阅读 · 0 评论 -
2021Android性能优化总结最新、最全面、最完整的资料
[](()性能优化今天想说的重点是Android APP 性能优化,也就是在开发应用程序时应该注意的点有哪些,如何更好地提高用户体验。一个好的应用,除了要有吸引人的功能和交互之外,在性能上也应该有高的要求,即时应用非常具有特色,在产品前期可能吸引了部分用户,但是用户体验不好的话,也会给产品带来不好的口碑。那么一个好的应用应该如何定义呢?主要有以下三方面:业务/功能符合逻辑的交互优秀的性能众所周知,Android 系统作为以移动设备为主的操作系统,硬件配置是有一定的限制的,虽然配置现原创 2022-04-15 16:29:35 · 258 阅读 · 0 评论 -
2020面试美团的朋友看过来,牛客网搜集整理2018—2020美团面筋需要的自行领取
美团一面:自我介绍学校课程计网:OSI七层模型应用层协议了解多少DNS和Http在什么层TCP、UDP区别一般在什么层操作学校学过的语言Java三大特性怎么体现多态private public protected区别进程线程区别单核多线程Java多线程数据结构队列和栈的区别队列和栈的应用(我说了非递归的树的前序和层次遍历中的应用)给我看了一棵树,叫我写出前序遍历安卓中启动一个APP一般启动多少个进程,多少线程UI线程和工作线程的区别ListView复用item知道自原创 2022-04-15 16:27:49 · 837 阅读 · 0 评论 -
2020跳槽大厂,11道Android性能优化面试题你会个?
3、WebView的性能优化 ?参考回答:一个加载网页的过程中,native、网络、后端处理、CPU都会参与,各自都有必要的工作和依赖关系;让他们相互并行处理而不是相互阻塞才可以让网页加载更快:WebView初始化慢,可以在初始化同时先请求数据,让后端和网络不要闲着。常用 JS 本地化及延迟加载,使用第三方浏览内核后端处理慢,可以让服务器分trunk输出,在后端计算的同时前端也加载网络静态资源。脚本执行慢,就让脚本在最后运行,不阻塞页面解析。同时,合理的预加载、预缓存可以让加载速度的瓶原创 2022-04-15 16:25:53 · 61 阅读 · 0 评论 -
2020最新BAT Android高端技术面试145题详解
11.GC算法(各种算法的优缺点以及应用场景)12.蚁群算法与蒙特卡洛算法13.子串包含问题(KMP 算法)写代码实现14一个无序,不重复数组,输出N个元素,使得N个元素的和相加为M,给出时间复杂度、.空间复杂度。手写算法15.万亿级别的两个URL文件A和B,如何求出A和B的差集C(提示:Bit映射->hash分组->多文件读写效率->磁盘寻址以及应用层面对寻址的优化)16.百度POI中如何试下查找最近的商家功能(提示:坐标镜像+R树)。17.两个不重复的数组集合中,求共同的元原创 2022-04-15 16:23:31 · 127 阅读 · 0 评论 -
2020年阿里巴巴Android面经:拿到字节跳动offer后,简历又被阿里捞了起来
java的进程与线程维护Activity的生命周期三面:25分钟(P9交叉面)面试官介绍面试官介绍自己是中间件部门的,这轮是交叉面。感觉面试官很和蔼,很有耐心。更多的是让我自己去讲述所学的知识。刚拿到你的简历,先做个自我介绍;项目相关,很多细节平时自己是怎么自学的(这就是全部的学习手段吗?)你是怎么找到相关的资料的平时用百度还是谷歌技术问题不是查谷歌更好一些吗?近一年,在学习和项目上比较困难的事情,怎么解决的,结果怎么样有和其他人合作项目..原创 2022-04-15 16:21:16 · 595 阅读 · 0 评论 -
2021 年 9 月美团 Android 面试总结
开发职位或许没有之前如此火爆,但是只要你有真才实学,找个较好的工作还是比较容易的。如果你是985,211,如果你是硕士学历,那找个满意的offer更是不再话下;即使不是上面的条件,只要你好好努力的学习,把每一项的技术点攻破了,同样可以达到甚至超越上面条件的同学。我隔一段时间都会出去面试一次,面试的目的不是为了找到好的工作,而是知道自己的优缺点是什么?知道市场需要什么样的人?同样,面试你的也是同行,这样也能够碰撞出不同的思想。当然,遇到好的机会那是再好不过了。试想?如果你一直待在一家公司,都不知道外面的情况原创 2022-04-14 20:32:47 · 546 阅读 · 0 评论 -
2020年终总结:这是一份面向Android工程师的面试大纲
onPreExecute():异步任务开启之前回调,在主线程中执行doInBackground():执行异步任务,在线程池中执行onProgressUpdate():当doInBackground中调用publishProgress时回调,在主线程中执行onPostExecute():在异步任务执行之后回调,在主线程中执行Android开源项目:ali1024.coding.net/public/P7/Android/git * onCancelled():在异步任务被取消时回调3、As.原创 2022-04-14 20:31:16 · 173 阅读 · 0 评论 -
2021最强Android中高级大厂面试源码秘籍,为你备战2022金三银四
为什么要做职业规划?我们先聊聊第一个话题,为什么要做职业规划?首先,我们要知道职业规划是什么,也就是如何持续选择适合自己发展的工作的过程。职业规划其实就是对职业生涯乃至人生进行持续的、系统的、计划的过程。职业规划也叫"职业生涯规划"。职业生涯规划的好坏有时会影响我们的一生。34.CirclelmageView源码解析35.Logger源码解析36.Agera源码解析37.BottomBar源码解析39.Android字体库Calligraphy源码解析40.AppI原创 2022-04-12 15:18:13 · 447 阅读 · 0 评论 -
2020Android大厂高频面试题(字节跳动,【性能优化实战
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-OC2jlmTV-1649747487992)(//upload-images.jianshu.io/upload_images/6098829-361adbbf30a02ff9.png?imageMogr2/auto-orient/strip|imageView2/2/w/640/format/webp)]临近年关,又到了面试求职高峰期,最近有很多网友都在求大厂面试题。正好我之前电脑里面有这方面的整理,于是就发上来分享给大家。原创 2022-04-12 15:11:47 · 341 阅读 · 0 评论 -
2018 再见,你好 2019,字节跳动Android三面凉凉
代码真的是重质不重量,质量高的代码,是当前代码界提倡的,当然写出高质量的代码肯定需要一个相当高的专业素养,这需要在日常的代码书写中逐渐去吸收掌握,谁不是每天都在学习呀,目的还不是为了一个,为实现某个功能写出高质量的代码。作为程序开发者,让我写一万行的代码?!are you kidding me?(黑人问号脸)我估计写到20万的时候就会突然有个疑问—-“咦?我的头发呢?”内容呢,主要是自己学习的一些技术,或者在开发中遇到的一些坑。当然也包括自己对一些时事的看法及生活的一些感触,只不过这一部分比较少发..原创 2022-04-12 15:08:33 · 89 阅读 · 0 评论 -
Android Handler相关面试题你能答对多少?子线程和主线程是如何切换的?
前言在历时半个月,面试失败了9次以后,我拿到了满意的Offer,薪资同比增长50%不止。因为在一千多公司没有太大的开发压力,让我有更多的时间去学习Android的方方面面。在今年四月初,我花了一个周末Review简历,下定决心准备出去找工作。关于“互联网寒冬”这个现象,笔者一直是不愿意去相信的,因为他给我造成了焦虑,虽然它确确实实存在。现在回顾这次跳槽的经历,笔者想说的是:其实寒冬没有大家想象的那么冷,当你有一定能力的提升的时候,一定要多尝试走出舒适圈尝试。不断的学习投资自己才会在互联网时代拥有安原创 2022-04-11 14:36:56 · 118 阅读 · 0 评论 -
Android Button及其子类,看完直接跪服
面试了一位工作12年的程序员,这位老哥有3年java开发经验,2年H5,7年Android开发经验,简历上写着精通Java,Android,熟悉H5开发。没有具体的技术点。说实话我很期待这位老哥的面试,于是让人事邀约了他。老哥面试的气场很足,我也很尊敬他,一大波的自我介绍之后,我们进入了正题。我问了他Jetpack,他说几乎没用过Jetpack,于是我给他举了个小例子,老哥给我的答案是百度可以解决。于是我又问了他Groovy,老哥还是说不清楚,于是我问了最基础的Handler,Binder等几个关原创 2022-04-11 14:35:20 · 350 阅读 · 0 评论 -
Android 7,深入浅出Android性能调优
前言我们移动开发程序员应该首先明白一个要点,能够学习的东西可以区分为『知识』和『技能』。知识,就是你知道就知道、不知道就不知道的东西,比如『计算机系统中一个字节是包含8个bit』,你知道了之后就算掌握了。技能,是需要练习的东西,不是知道不知道的区别,只有熟练还是不熟练的区分,比如『写代码要用有意义的命名规则』,你知道了这一点,不代表你掌握了这个写代码命名的技巧,你需要去写代码练习,但是练习还不够,你需要反复练习,还需要别人给你反馈,你才能练习得更好。是的,知乎上有些内容全都是『知识』(有的还只是伪知原创 2022-04-11 14:33:43 · 217 阅读 · 0 评论 -
Android 11 中的存储机制更新,安卓客户端开发面试题目
前言金三银四,又是一年校招季。经历过,才深知不易。最近,和作为校招面试官的同事聊了聊,问他们是如何去考察一个学生的,我简单归为以下几点:聪明、反应快,这点自不必说,聪明意味着学习能力、适应力强,能够快速胜任工作。算法不错,代码基本功好,这点其实考察的是算法能力和代码是否写得优雅。基础过硬,技术岗面试最核心的还是考察「技术储备」,包括了语言基本功,操作系统、网络、体系结构、系统设计。语言组织和表达能力,这点很重要,很多同学懂得某个知识点,却很难用简洁准确的语言表述出来。想必有很多同学在刷题.原创 2022-04-11 14:32:06 · 149 阅读 · 0 评论