
Android
文章平均质量分 85
Android学习小分队
这个作者很懒,什么都没留下…
展开
-
2023年Android最全面试题有哪些?
………原创 2023-10-06 15:57:22 · 176 阅读 · 0 评论 -
如何做好Android程序员-进阶篇
程序员进阶一般是入行1-3年,也就是黄金3年期这个阶段最难了甚至比刚入行更难、更迷茫。你在工作时可能会信息闭塞对于自己的提升,不知道该学什么?你也不知道该往哪个方向学到底是学公司的项目?还是学书上的理论?还是别人的视频,还是github的开源项目什么英语、底层、源码、基础,对新手程序员通通不适用!一个人的能力提升,70%都来源与工作本身。你说看书能提升么?能,但没有实际用武之处看了忘!在日常工作中有3个习惯很重要:有敏锐的学习意识、建立以结果为导向的学习、培养工作日常优化的习惯。如果大家觉得不值得如何在工作原创 2023-10-05 17:15:29 · 127 阅读 · 0 评论 -
Jetpack compose这么讲你还不懂?完全掌握jetpack compose开发
Compose 是 Google 推出的现代化 UI 开发工具包,基于声明式 UI 开发风格,加上 @Composable 函数帮助开发者有效的实现关注点分离,另外 Compose 内部最大程度优化了重组范围,可以帮助我们高效的刷新UI,考虑到 Compose 整体架构设计过于复杂,这篇文章主要带大家了解 Compose核心的实现逻辑原创 2023-09-25 17:25:14 · 184 阅读 · 0 评论 -
放心,2023年的Android开发还在(附Android面试题锦集)
在如今的互联网大环境下,每个人都岌岌可危。本着互联网行业天然的高波动性, 有可能你上午还在工位摸鱼,下午HR已经给你单独开小灶,通知你提前毕业了。所以在当前的互联网环境,每天刷八股文变得很有必要, 因为你永远都会随时被毕业.该圣经系列就是为各位广大的Android从业者准备,该圣经如同武林中绝世武学. 读完此文,融会贯通后, 拳打面试官,脚踢hr, offer拿到手软,不在话下。废话不多说,接下来进入正题。原创 2023-09-22 21:03:35 · 108 阅读 · 0 评论 -
Flutter之入门保姆级教程,学不会我去你家刷厕所
Flutter 发布至今大概有 6 个多年头,相信现在大家对于 Flutter 也不至于太陌生,但可能有的人对于 Flutter 还处于「一知半解」的状态。Flutter 是一款开源 UI 工具包,可利用单一代码库构建本地编译的移动、Web 和桌面应用程序。Flutter 由谷歌牵头开发,允许开发者构建出具有良好表现力、灵活设计、样式美观且运行迅速的应用程序。Flutter 的核心语言为 Dart,这是一种现代多范式语言,能够面向多个平台编译本地代码。Flutter 的一大主要优势,是它创建的高性能原创 2023-09-21 16:13:20 · 3202 阅读 · 0 评论 -
快 35 岁的程序员,被裁后,我是去考公还是努力提升技术?
首先说下个人情况1.有过大厂经历: (非外包的情况下) ,计算机专业基础也是有的。2.离职原因说白了就是市场原因。3.倾向安逸的工作。4.在考公和内卷之间徘徊,迷茫原创 2023-09-19 16:22:42 · 1107 阅读 · 0 评论 -
从事Android3年,我发现了一个超强Android进阶路线图谱
记得我大二时“不务正业”地自学Android并跟了老师做项目,到大三开始在目前的公司实习,至今毕业半年有多,学习Android已经3年多了!但总感觉知识点很零散,并且不够深入,遇到瓶颈,所以有了这文章。本文是我对自身的Android编程技能的总结、思考和反省,意在系统地、深入地学习Android的重难点,使自己的能力上一个台阶。原创 2023-09-12 10:58:59 · 138 阅读 · 0 评论 -
Flutter的绘制流程
主要是处理动画及执行一系列微任务。具体是在SchedulerBinding中的handleBeginFrame函数中实现。原创 2023-09-08 14:21:18 · 303 阅读 · 0 评论 -
Android 动态注册的广播
动态注册广播接收器是Android中一种灵活、高效的通信机制。通过动态注册,可以根据具体需求灵活地注册和注销广播接收器,提高系统资源的利用效率。在实际开发中,需要根据具体的场景和需求选择合适的广播注册方式,以实现应用程序间的有效通信。如果想要成为架构师或想突破20~30K薪资范畴,那就不要局限在编码,业务,要会选型、扩展,提升编程思维。此外,良好的职业规划也很重要,学习的习惯很重要,但是最重要的还是要能持之以恒,任何不能坚持落实的计划都是空谈。原创 2023-08-24 15:04:15 · 1881 阅读 · 0 评论 -
都2023年了,你竟然还在搞Android开发?我劝你早点认清现实吧.
最近已经不止一位做Android开发的朋友吐槽,2023年,真的有点玩不下去了。连一些曾经一度年薪60W+,带团队独立操盘大型APP开发项目的朋友,最近在面试的过程中也是各种力不从心。谈到这个问题,很多人会说,疫情后的经济是影响行情的一个重大因素。但在我看来,疫情后的经济其实只是一个催化剂,绝大多数移动开发者,到了2023年这个关口,已经面临着一场更为根本的危机。原创 2023-08-22 16:14:04 · 6311 阅读 · 12 评论 -
Android行业薪资现状,月薪2万属于低收入!
以前我们一直被公司和技术牵着走,并不是自己在选择技术,而是不自觉地被推到了现在尴尬的处境。当我跳出编码后,我开始思考和程序及程序员职业生涯相关的问题,最后发现,影响我们走入今天的困局的竟然是一些我们常常挂在嘴边的话。一份耕耘一份收获,有人欢喜,也有人忧。有些已经达到10年的移动端工作经验,还在追求6-8k的薪资。希望那些技术遇到瓶颈,感觉迷茫找不到方向的朋友,可以有一个系统的学习提升的方向。作为一般本科院校的毕业生,在Android开发行业从刚毕业税前的3.5k,经过4年经过自己努力,到现在税前的30k。原创 2023-08-18 15:33:12 · 174 阅读 · 0 评论 -
瞅一眼Kotlin Flow
Kotlin Flow是Kotlin中响应式编程框架的实现,是Kotlin生态中的一个重要组成部分,而提到响应式编程框架,作为Android开发的我们势必会联想RxJava,因其丰富、强大的功能,陡峭的学习曲线,让人又爱又恨。相较于RxJava,Flow的一个最大特点是其基于Kotlin协程,一个Flow必须运行在协程中,因此在Flow中我们能够利用协程提供的特性编写更加简洁、轻量的异步代码。原创 2023-08-08 16:18:28 · 313 阅读 · 0 评论 -
2500份工作申请,46次面试,只拿到了一份offer
7月14日,一位被Meta解雇的PM(产品经理)在网上发布的一段文字,标题为《2500 Job apps, 46 interviews, 1 offer》。就这件事以及优快云发布的《2023中国开发者调查报告》和香帅的《2023年度演讲》,聊聊目前软件行业的几个点。原创 2023-08-03 16:38:43 · 104 阅读 · 0 评论 -
三年经验拿到字节+腾讯+华为+小米+阿里offer,附上金九银十BAT面试核心知识点整理
我自己是本科毕业后在老东家干了两年多,老东家算是一家”小公司”(毕竟这年头没有 BAT 或 TMD 的 title 都不好意思报出身),毕业这两年多我也没有在大厂待过,因此找坑的时候是非常非常虚的。原创 2023-07-31 16:40:37 · 137 阅读 · 0 评论 -
Android APP应用工程师转Framework工程师(仅此一篇够了)
之所以要转Framework工程师,最直观的就是现在原生开发真的不行了,面试过程中Framework也成为了企业必问知识点。Framework这个东西挺好挺大的,不过它的核心其实也好说。一是承上启下提供应用的API,一是提供操作系统的服务。相信所有人开始学习android开发的时候都是从以下这张图开始的,framework位于hal、系统库之上,位于app之下。从哪里开始呢?上面那张结构图里面的各种Manager背后都是系统服务,Framework包含各种系统服务,所以“原创 2023-07-10 20:25:56 · 573 阅读 · 0 评论 -
下周入职 PDD,涨薪 50%+,再拼一把,面经分享
这位朋友参加了 PDD、字节、蚂蚁、美团、证券、还有部分中小厂面试,最终拿到了 3 家 offer(某小公司、PDD、某证券公司)。最终,考虑到各方面因素,他决定去 PDD ,在即将 30 岁前再奋斗一把。我希望你不管是否要跳槽都认真阅读一遍,应该会对你有所帮助!下面是正文。原创 2023-07-03 16:59:03 · 1726 阅读 · 0 评论 -
Android SDK安全加固问题与分析
在移动互联网快速发展的背景下,保护Android应用程序的安全性和知识产权变得尤为重要。为了防止恶意攻击和未授权访问,通常采用对dex文件进行代码加固来保护应用程序。随着Android加固技术经过动态加载、不落地加载、指令抽取、java2cpp、VMP等技术不断演进和改进,VMP加固技术成为一种高安全性解决方案。因此,本文将着重介绍一种实现和落地VMP技术的思路,以帮助大家了解其工作原理和应用场景。原创 2023-06-29 22:01:49 · 271 阅读 · 0 评论 -
Android面试题合集大全(2023最新版),1600+面试题附答案详解,字节大佬力推
然而现在自己细想了一下,自己也是时候把遇到的问题并把解决方案分享出来,希望能帮助到有需要的人。现在小公司会比较偏重于业务,面试上也偏重业务,比如做了什么,大概方案,用了哪些库,库的原理。这些基本上会集中在 图片处理,网络封装,自定义view这几个部分。大厂则会从业务入手,递进深入到原理及相关知识点,尤其集中在原理部分,这里对平时源码阅读有一定要求。或者直接问对xxx源码有没有了解。比如一个handler机制,因其涉及的地方特别多而且很容易展开,想完美答好,真的不是一次两次就能行的。原创 2023-06-24 20:09:10 · 507 阅读 · 0 评论 -
Android开发面试题,啃下来就能进阿里
我们程序员本就是在工作中学习,提升自己,在从一家公司跳到另一家公司的过程中提高自己的经验,提高自己的薪酬,让自己在市场中更具竞争力。一般的程序员都是从小公司做起,再慢慢跳到大厂,在经历了大厂高强度的工作学习后,这时再选择去其他公司竞争力是完全碾压其他没去过大厂的程序员的。**今天我们就来讲讲如何才能进入大厂学习深造。**原创 2023-03-11 15:12:00 · 133 阅读 · 0 评论 -
车载Android开发,从小白到架构师只需三步
车载Android开发原创 2023-03-01 21:11:55 · 678 阅读 · 0 评论 -
在2023才开始学习Android Framework是一种什么体验?
就2023就业情况来看,的市场发展情况还是非常可观的,毕竟国内的很多手机大厂,比如华为、oppo、vivo、小米等厂商都需要Android Framework开发,更有其他APP大厂在招聘,所以学习Android Framework的的。在大厂面试环节,Framework基本是必问的:举个例子,比如你了解 Handler的源码结构,你就可以更好的理解这些概念:为什么不能在子线程更新 UI?主线程为什么循环却不会卡死?Thread 和 Handler 的关系ThreadLocal 做什么的?原创 2023-02-16 15:56:11 · 185 阅读 · 0 评论 -
在2023年就业环境下如何准备Android面试?
实话实说,这两年Android就业环境,甚至整个互联网市场,整体情况都不乐观。个人观点,如今安卓手机还在不在更新,Android操作系统更不会短时间内消失。况且现在,Android岗位也会慢慢增多。其实不管在任何行业,任何岗位,初级技术人才总是供大于求,都是不好找工作的,Android开发只是其中之一,同样,不管任何行业、岗位,只要技术过硬,也都是非常吃香的!原创 2023-02-14 13:58:55 · 183 阅读 · 0 评论 -
Android之浅谈:带你手撕Handler来了解handler原理
首先先祝大家2023年新年快乐呀!这篇文章打算讲handler原理,我相信handler原理已经被很多大佬写透过的东西,但是我想从一个不同的角度来写,从实践来了解handler原理。希望这篇文章能带给你来点收获。handler是Android一套消息传递机制,像在Andorid里AsyncTask、IntentService、activity生命周期控制等…Handler 负责消息的发送和处理MessageQueue 消息队列(虽然听名字数据结构像是队列,但是实际上是单向链表)原创 2023-01-28 15:49:05 · 260 阅读 · 0 评论 -
Android Framework 之 使用Android studio 调试
有的时候,想确认一下Activity启动过程中的一些细节,但是代码都再Framework中,单单想确认一下某个条件或者某个变量的值,又不想再代码中加 Log, 则可以考虑使用Android studio 调试。: 已经熟悉Android Studio App 的调试方法。原创 2023-01-24 08:45:00 · 783 阅读 · 0 评论 -
浅谈Android发展:安卓开发的未来发展是怎样的?我们该怎么做?
而很多优秀的创意也都一一被实现过了,即便再有也难逃资本的压制,市场已经被各大厂的全家桶式APP占据得差不多了,很多互联网公司开始发现,写个APP不难,难的是引进流量,而问题在于,市场已经没有多少“干净”的流量了……Android经过一段时间的摸索,并且有了成功的例子以后,第一个听到风声的是资本,当时的互联网公司都想通过一个小小的APP实现上市梦,市场也涌现出一大批Android培训机构,市场人人转Android,人人学Android,是Android开始火爆的“?真是个奇妙的时代~ 魔幻的时代~原创 2022-12-27 15:38:31 · 209 阅读 · 0 评论 -
掌握这份Android面试宝典,双非进大厂也不是梦~
毕业时选择的是一家非一线大厂的公司,在这边工作的近两年时间里,业余学习了许多 Android 相关的专业知识(因为不忙),但是由于业务原因,且公司发展一直在走下坡路,我在项目上的经验比较欠缺,因此考虑进一家大厂继续磨练磨练自己。这次面试也暴露出了我的一些问题,最主要的话还是业务项目经验上不太足,所幸面试到的公司基本上都通过了,可能是因为我在 Android 基础上还可以吧。面试也是一种能够快速地发现自己缺点与不足的方法,可以更好地提高自己。关于算法题。原创 2022-12-15 15:39:49 · 455 阅读 · 0 评论 -
如何起步Framework框架?看完这些豁然开朗!
安卓的系统架构了解吗?有没有过Framework的开发经验?由此可见,Framwork在Android开发中占着举足轻重的地位。服务端、客户端、Linux驱动。它提供了软件开发的框架,使得开发过程更具简便性和稳定性。原创 2022-12-13 15:47:45 · 564 阅读 · 0 评论 -
百度 Android 直播秒开体验优化
作者 | 任雪龙百度 APP 作为百度的航母级应用为用户提供了完善的移动端服务,直播也作为其中一个必要功能为用户提供内容。随着直播间架构、业务能力逐渐成熟,直播间播放指标优化也越来越重要。用户点击直播资源时,可以快速的看到直播画面是其中一个核心体验,起播速度也就成了直播间优化中的一个关键指标。由于包体积等原因,百度 APP 的 Android 版中直播功能使用插件方式接入,在用户真正使用直播功能时才会将直播模块加载。为解决用户点击直播功能时需要等待插件下载、安装、加载等阶段及兼容插件下载失败的情况,直播团队原创 2022-12-08 17:05:04 · 206 阅读 · 0 评论 -
Rust在Android端的入门开发
IOS上应用还在半路上,遇到了一些集成问题。在了解、学习过程中发现,IOS的Swifit UI动画真的是比Flutter做的好几倍,后面有时间可以记录记录。本次先记录Android集成吧,对比性能的话,可以在rust中for循环个10万次,对比C的时间消耗。原创 2022-12-01 21:21:52 · 5046 阅读 · 0 评论 -
Android Xposed 框架
Xposed是一款优秀的Android HOOK框架,优势是模块编写起来相对比较容易,功能强大,缺点也比较明显,每次重新编译框架或者开启、关闭框架,都需要重新引导系统,比较麻烦,同时不能直接HOOK C/C++编写的函数,也比较容易被检测出来(当然了你可以把检测代码也HOOK掉),也是其局限性之一。来自:https://www.yuque.com/wrlu/security/android-xposed-hook。原创 2022-11-30 19:02:42 · 4142 阅读 · 0 评论 -
Android Sensor Native 源码分析
Sensor数据的分发最终还是走的Socket,SensorEventConnection类中持有 sp类型名为mChannel的实例,而其也持有一个应用包名字符串和Java虚拟机名字符串,一个应用对应一个SensorEventConnection,通过SensorEventConnection进行sensor监听的管理。来自:https://www.yuque.com/zestzone/bdds6v/viqstz。原创 2022-11-29 22:00:50 · 701 阅读 · 0 评论 -
从 ExoPlayer 源码分析视频无法播放问题
可以看出最终调用的是 C/C++ 的代码,一般在这里出现了异常,那对于 Android 端看似是无能为力的,但此时我又从另一个角度去思考,正常能播放的机型和无法播放的机型,到底是哪些参数有差别呢?从以上源码可以看出,正是调用了 initCodec() 出现了异常,然后抛出了 DecoderInitializationException其打印的异常信息也和 log 中的一致,继续追 initCodec() 中的逻辑。,然后再去源码中分析其逻辑。其实非常简单就能解决了,设置。原创 2022-11-28 20:44:07 · 1979 阅读 · 2 评论 -
Android组件间通信:Intent的用法
意图是允许应用程序组件从其他Android组件请求功能的异步消息。意图允许您与来自相同应用程序的组件以及其他应用程序提供的组件进行交互。例如,一个活动可以启动一个外部活动来拍照。意图是android.content.Intent类型。你的代码可以把它们发送到Android系统,定义你的目标组件。例如,通过startActivity()方法可以定义应使用意向来启动活动。在Android中,重用其他应用程序组件是一个被称为任务。应用程序可以访问其他Android组件来完成任务。例如,从应用程序的一个组件转载 2022-11-26 21:43:13 · 736 阅读 · 0 评论 -
Android设计模式实战-观察网络变化
首先Android的App中很多都有类似的效果,如网络变化之后没网络了,取缓存,如果有网络了刷新列表,如果有Wifi了下载插件等等。那么是如何实现的呢?有人说广播,是的,但是8.0之后安卓收紧了静态广播的定义与接收,如何实现才能兼容版本呢?原创 2022-11-25 17:47:39 · 377 阅读 · 0 评论 -
给flutter跨平台开发框架划重点,新的知识点不能落下
由于跨平台框架的众多优势,各大公司对跨平台框架的需求日益增长。第一,为了使应用程序的UI更具交互性,Flutter开发人员可以使用材质、交互模型、样式、文本、滚动等,这些小部件是替换本机组件的内置UI组件。第二,Flutter还有一个,允许开发人员立即检查输出,大大节省了开发的时间,提高了工作的效率。。事实上,现在的flutter已经较为成熟了,flutter官方还提供了不少的文档供我们参考,不过内容较为繁杂,还附带了大量的集成开发环境(ide)等,,相信大家会有更深入的认识,。原创 2022-11-23 14:01:07 · 187 阅读 · 0 评论 -
Android Hook机制
其实Hook并不是Android的专属。其实在Android出现之前,HOOK(钩子,挂钩)是一种实现Windows平台下类似于中断的机制。HOOK机制允许应用程序拦截并处理Windows消息或指定事件,当指定的消息发出后,HOOK程序就可以在消息到达目标窗口之前将其捕获,从而得到对消息的控制权,进而可以对该消息进行处理或修改,加入我们所需的功能,PC端游戏外挂用的就是这个原理。原创 2022-11-21 17:56:16 · 3605 阅读 · 0 评论 -
Android Jetpack 之 LifeCycle 组件
Jetpack 提供了两个类:LifecycleOwner(被观察者)和 LifecycleObserver(观察者)。通过观察者模式,实现对页面生命周期的监听。原创 2022-11-18 17:41:49 · 235 阅读 · 0 评论 -
毕业生规模创新高,Android面试怎么准备才能给自己减压?
根据相关报道,2023届高校毕业生规模预计1158万人,同比增加82万人,在这个就业形势严峻的情况下,教育部要求千方百计促进高校毕业生多渠道就业创业。现阶段,毕业生开始集体走向社会,在校大学生开始接触实习,还有所谓“金九银十”后再战社招的青年们。就业环境不好,每一次面试的机会都当其来之不易,对我们面试Android开发的同学来说,要清醒的认识到当下的就业情况,理性的看待压力。因为压力无处不在,在面试时我们会遇到技术压力面,在实习转正答辩上也会遇到咄咄逼人的提问。更为极端的情况有两种,一种是全程打压和否定质原创 2022-11-17 18:00:45 · 100 阅读 · 0 评论 -
SO库动态加载
第一步会通过ClassLoader通过我们之前传入的so名称找到文件名,当fileNeme为null时,就会报错找不到so文件,通过so的名称拼接成文件路径返回的是libmain.so,nativeLibraryPathElements 是 native library 路径的集合, 它的是 DexPathList 初始化的时候赋值在 DexPathList 的构造函数中,我们可以知道 nativeLibraryPathElements 是所有 Native Library 的集合。原创 2022-11-15 16:46:34 · 1524 阅读 · 0 评论 -
Android logd日志原理
无论是Android系统开发,还是应用开发,都离不开log,Androd上层采用logcat输出log。当日志输出过于频繁或者日志占用内存过大时,会有日志裁剪的动作:每次裁剪日志行数等于总行数的10%,并且需要大于等于4行,且不超过256行,优先裁剪黑名单以及log打印最多的那个uid, 以及system uid中打印日志最多的pid进程中的日志,也可以设置不裁剪的白名单。比如persist.logd.size.system;LOG_BUFFER_SIZE, 即256k;原创 2022-11-10 22:32:40 · 1475 阅读 · 0 评论