自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(357)
  • 收藏
  • 关注

原创 Android 8.0 只有全屏不透明活动可以请求方向问题

`Android 8.0`,即 `sdk` 为 `26` 时,`Android` 为了支持全面屏系统增加了一个限制,如果是透明的 `Activity`,则不能固定它的方向,因为它的方向其实是依赖其父 `Activity` 的(因为透明);

2024-04-24 18:03:45 561

原创 IT行业变局下,Android程序员的技术发展与个人职业发展该如何规划?

在日新月异的IT行业中,Android作为全球最大的移动操作系统之一,一直以来都是程序员们的热门就业领域。然而,随着新兴技术的崛起和市场的不断演变,Android程序员们面临着前所未有的挑战与机遇。诸如跨平台开发技术(如Flutter、React Native)、物联网(IoT)、智能汽车、AIoT(人工智能物联网)以及鸿蒙等新兴操作系统,都在不同程度上对Android市场造成了冲击,使得原本聚焦于单一Android开发的程序员们不得不重新审视自己的技术栈和职业规划。

2024-04-24 17:38:27 253

原创 Android WorkManage 基本使用

重新执行失败的任务 如果任务执行失败,还可以重新执行。 首先需要将任务执行结果返回为 `retry`。

2024-04-22 18:27:13 399

原创 面试Android Framework工程师,需要掌握的专业知识你知道吗?

在Android开发领域,Framework层是连接应用层与系统内核的桥梁。成为一名合格的Android Framework工程师不仅需要扎实的编程基础,还需要对Android系统有深入的了解。以下是面试这一职位时,需要掌握的专业知识。

2024-04-22 18:10:56 856

原创 Android开发中的注解与TransformTask详解

注解和TransformTask是Android开发中的重要概念,它们为开发者提供了丰富的功能和扩展性。通过合理地使用注解和TransformTask,可以更加灵活地处理代码和实现各种功能。希望本文能够帮助读者更加深入地理解注解和TransformTask,并在实际开发中发挥作用。

2024-04-19 09:30:00 586

原创 不得了!工资翻一番半,鸿蒙开发火到不行,还不快来学!

现在的科技圈里有个大热门——鸿蒙操作系统(HarmonyOS),知道不?那些学会了鸿蒙开发技术的小伙伴,工资蹭蹭蹭往上窜,有些人的收入甚至涨了1.5倍!看到这里,你是不是也想感叹一句:“哇塞,工资这么猛涨,咱也赶紧去学鸿蒙吧!鸿蒙这操作系统,厉害得很。它不光在手机、平板这些常用智能设备上混得风生水起,还在智能家居、物联网、工业互联网等新领域里大展拳脚。华为在全世界越做越大,用鸿蒙系统的用户那是越来越多,这样一来,懂得鸿蒙开发的人才自然成了香饽饽,需求量那叫一个大!

2024-04-19 08:30:00 323

原创 Android前台服务及通知使用总结

总结了一下Android前台服务、后台服务和前台应用、后台应用,在不同API上的行为限制,并牵引出JobScheduler和WorkManager,简单使用介绍了下它们的使用。最后还总结了下Android通知的使用,封装成了一个工具类。

2024-04-16 22:24:14 999

原创 根据最新 Android 面试知识点梳理总结的面试宝典,你get了吗?

随着Android技术的快速发展和市场需求的不断变化,Android面试知识点也在持续更新和完善。为帮助广大开发者更好地备战面试,本文特意梳理了当前最新、最热的Android面试知识点,助你一臂之力,早日收获心仪offer!要想在Android面试中脱颖而出,除了牢固掌握基础原理之外,紧跟行业发展趋势,了解并熟练运用最新技术和最佳实践显得尤为关键。赶快把这些知识点纳入你的知识宝库,向着更高的职业目标迈进吧!

2024-04-16 22:04:31 782

原创 10个常见的Jetpack Compose错误

Jetpack Compose 是构建声明式UI的强大工具, 但即使是最有创造力的人也会犯错.这里有 10 个常见的陷阱需要避免, 以便更顺利, 更高效地开发 Compose:

2024-04-14 22:18:22 925

原创 性能优化:Android面试通关的“秘密武器”,你掌握了吗?

在这个移动互联网时代,Android开发早已不再是简单的功能实现,而是一场关乎用户体验、系统稳定性和资源效率的综合较量。随着行业竞争加剧和技术迭代加速,企业在选拔Android开发者时,对候选人的要求也在悄然升级。如今,如果你在面试过程中无法展现出对性能优化的深入理解和实战经验,那么很遗憾,这场求职之战你可能难以笑到最后。

2024-04-14 22:01:13 789

原创 2024最新Flutter面试题分享(含答案解析)

我整理了一套Android面试题合集,除了以上面试题,还包含【Java 基础、集合、多线程、虚拟机、反射、泛型、并发编程、Android四大组件、异步任务和消息机制、UI绘制、性能调优、SDN、第三方框架、设计模式、Kotlin、计算机网络、系统启动流程、Dart、Flutter、算法和数据结构、NDK、H.264、H.265.音频编解码、FFmpeg、OpenMax、OpenCV、OpenGL ES。

2024-04-11 18:33:56 766

原创 鸿蒙系统火得一塌糊涂,为啥相关工作却难找?

要说现在科技圈最火的话题之一,那必须得算上华为的鸿蒙系统。这个打着“万物互联”旗号的操作系统,靠着独特的分布式架构和强大的跨平台能力,妥妥地成了圈内的“网红”。但是,你有没有发现,虽然鸿蒙系统名声在外,但是实际上想找份跟它相关的工作其实是有点困难的。鸿蒙虽然火,但还没彻底“坐稳江山”。跟已经在市场扎根多年的Android和iOS相比,鸿蒙还算是个“新人”。企业投资新技术,尤其是像操作系统这样的大工程,肯定得谨慎行事。

2024-04-11 18:22:48 536

原创 Android ViewModel 作为 LifecycleOwner 落地的思考

理解了这一点那么对于 `ViewModel` 的使用就不限于 `Activity`/`Fragment` 了,任意业务组件其实都可以通过同样的方式来管理自己的 `ViewModel` 和依赖注入达到更彻底的解耦。比如目前尚在草稿阶段的某统一组件抽象方案(此处不展开)

2024-04-09 19:59:53 634

原创 原生Android遇冷,鸿蒙开发升温,但Framework“硬核”开发者仍受追捧

各位程序员盆友们,又到了一年的跳槽季,今年移动开发领域的就业形势如何,你们是不是心里有点小忐忑?别急,且听我来分析一二。原生Android开发这个曾经的“香饽饽”,如今似乎遭遇了寒流。中小企业在经济压力下,对原生客户端开发的需求有所减弱,再加上跨平台技术的兴起,比如React Native、Flutter等,让企业有了更经济高效的开发选择。微信小程序更是凭借其轻量化、快速迭代的特点,抢走了原生开发的一部分市场。这一系列变化,使得Android原生开发岗位不像过去那样遍地开花,找工作的难度有所增加。

2024-04-09 19:32:56 517

原创 Android Compose编程思想 -- 触摸事件和嵌套滑动事件处理

在Compose当中,提供了来实现嵌套滑动,既然我要讲嵌套滑动,首先需要明确一下,嵌套滑动的原理:其实嵌套滑动很简单,在Compose当中对于父容器是不会主动处理滑动事件,是子组件通过回调通知父容器是否需要滑动,通常是在子组件滑动之前「询问」父容器是否要消费滑动距离,以及在子组件滑动完成之后,也要询问父容器是否需要消费剩余的滑动距离。ok,知道原理之后,就知道该做哪些事了!通知父容器是否消费事件,分两次进行;父容器接收到回调之后,选择是否处理事件消费那么如何通知父容器是否消费事件,就是采用。

2024-04-07 18:20:18 912

原创 鸿蒙生态火速扩张,4000多款应用已上车,鸿蒙岗位工资蹭蹭涨,程序员新出路get起来!

而且随着鸿蒙生态的快速发展和原生应用数量的爆炸性增长,催生了大量的工作岗位需求,其中包括但不限于鸿蒙应用开发者、系统架构师、生态建设专员、分布式技术专家等。越来越多的企业认识到投资鸿蒙生态的重要性,愿意为拥有鸿蒙开发经验和深厚技术背景的程序员提供极具竞争力的薪酬待遇,以吸引和留住这类稀缺人才,相关岗位的薪资待遇也随之水涨船高。当时,华为宣布首批200多家应用厂商正在加速开发鸿蒙原生应用,不到3个月时间,加入鸿蒙生态的原生应用数量便增长近20倍。【有需要的朋友,可以扫描下方二维码免费领取!

2024-04-07 17:45:04 300

原创 Flutter run、attach 调试秒连,规避日志问题

Flutter IDE 调试与手机建立连接,是通过检测 logcat 输出,过滤终端运行的引擎 observatory 调试服务端口链接日志

2024-04-02 17:54:20 258

原创 鸿蒙时代来临,APP适配忙不停,内部转岗成热潮,快来get这份高效学习资料

但适配路上,人才短缺成了拦路虎。市面上懂鸿蒙系统开发的程序员就像熊猫一样稀罕,岗位需求量大,可供应量却远远不足。面对这样的窘境,很多公司脑筋一转,灵机一动,决定让自家原本做Android开发的程序员来个华丽转身,投入到鸿蒙系统的怀抱。

2024-04-02 17:43:06 1063

原创 动态隐私检查方案优化与实现

在本方案中,我们采用扫描项目中的所有类文件,利用ASM库在这些class文件中定位隐私方法。随后,在隐私方法执行结束时,我们通过插入一段代码来收集堆栈数据。一旦用户同意隐私政策,收集到的数据将被输出到JSON文件中,以供进一步分析和处理。以上方案已经实现了动态隐私方法的检测,但仍存在优化空间。例如,可以增加白名单功能,排除某些功能模块不插入检测代码,以提升插桩速度。同时,现有方案不支持属性调用的检测,例如,可以通过代理替换属性调用的方法来解决。这些都是我们接下来需要解决的问题。尽管新方案相较于之前的。

2024-03-30 22:21:26 791

原创 金三银四过半了,大家拿到offer了吗?

在经历了所谓的“金三银四”招聘季的初期之后,许多人期待就业市场能够逐渐回暖。然而,近期互联网行业却再次传来裁员的消息,特别是某知名互联网公司的大规模裁员事件,引起了业界的广泛关注。

2024-03-30 22:13:00 558

原创 探索Android协程:简化异步编程的强大工具

协程由于改变了视角,可以线性地管理并发任务,所以可以把复杂的工作全都包进一个整块代码里面,这就让它有了「子协程」的概念。这跟Java的子线程不是一个概念,Java的子线程指的是「非主线程的线程」,而协程的子协程,指的是「工作于这个协程内部的一个子模块」。父子协程的概念的引入,就让父子协程的关系管理(注意是取消和异常的相互影响,例如父协程取消触发子协程的取消、子协程的异常触发父协程的取消)有了可坑,这个对于Java的线程来说,是几乎不可能的。协程的结构化并发用于定义协程的作用域,它管理协程的生命周期。

2024-03-28 22:19:33 610

原创 职场寒冬中,如何成为市场上抢手的Android开发高手?

现在的工作不好找,大家都深有体会。不少公司,不管是大是小,都面临着业务不景气的问题,为了节省开支,他们不得不做出“裁员”的艰难决定。对于我们这些搞Android开发的小伙伴们来说,找工作的难度和面试的标准都在不断提高。眼看着“金三银四”的招聘旺季就要过半了,得抓紧时间做好准备,提升自己的竞争力。前阵子,我听说有个大公司的技术老大抱怨,面试了一大堆人,硬是没找到个合适的。他说现在的Android开发者多是多,但真正能称得上中高级水平的却寥寥无几。

2024-03-28 22:09:51 520

原创 Android jni 方法 hook 的实现方案

本文主要是简述一下 jni 方法的调用流程,然后讨论下对jni 方法hook的实现方案。JNI 即 Java Native Interface,作为Java代码和native代码之间的中间层,方便Java代码调用native api以及native 代码调用Java api。以 Android 上Java 代码启动线程为例,调用方法时,会调到进而调用到他的 native peer,最后创建相应的 pthread。

2024-03-26 22:16:16 517

原创 2024年Flutter的沉默:淘汰还是潜伏?揭秘未来发展与学习新机遇

在2024年的今天,当我们谈论起跨平台开发时,Flutter这个名字似乎不再频繁出现在技术头条。这个曾经令开发者们激动不已的框架,如今似乎陷入了一段沉默期。但在这个看似沉默的背后,Flutter真的被淘汰了吗?还是它正在为下一次的爆发蓄力?让我Flutter自推出以来,以其出色的性能和开发效率赢得了广泛的关注。它的设计理念和丰富的组件库,让开发者能够快速构建出美观且性能优异的应用。然而,随着时间的推移,市场上涌现出了更多的技术选择,开发者们的注意力也被新的工具和框架所吸引。

2024-03-26 21:48:43 1001

原创 Android——adb命令大全

`dumpsys` 是一种在 Android 设备上运行的工具,可提供有关系统服务的信息。可以使用 [Android 调试桥 (adb)]

2024-03-23 17:05:56 774

原创 掌握未来趋势,鸿蒙系统学习资料全攻略免费大放送

企业为了在激烈的市场竞争中占据先机,纷纷提高了对鸿蒙人才的薪资待遇,以吸引和留住这些关键技术人才。据统计,鸿蒙工程师的薪资普遍高于传统软件开发岗位约50%。

2024-03-23 16:57:48 576

原创 使用ChannelFlow实现单次事件流

发现在项目里还存在一些业务场景,需要实现的是单次响应事件,使用的却是SharedFlow/StateFlow,导致部分场景下事件会丢失或多次响应。

2024-03-21 17:53:45 945

原创 Android中低端程序员借力《Android八大模块进阶资料》成功实现逆袭

在当今时代,Android开发领域已发展成为一个高度成熟技术。尽管当前Android开发市场有些争议,但高级Android开发人才仍显稀缺。随着移动互联网行业的持续深化,开发者们开始逐步聚焦于插件化技术、性能优化、新兴行业技术以及系统架构设计等高级技术领域。这种趋势间接塑造了Android开发行业内部明显的“冰火两重天”现象。一部分开发者受限于技术储备不够全面,仍停留在中低端技术水平,他们辛勤编码,为了微薄的薪资涨幅甚至不惜过度加班,却时常面临降薪风险乃至裁员危机。

2024-03-21 17:39:29 677

原创 Android 输入系统简介

输入事件的源头位于/dev/input/下的设备节点,输入事件的终点是WMS管理的某个窗口。所以输入系统的主要工作是读取设备节点中的原始事件,接着进行加工封装,然后派发给一个特定的窗口或者窗口中的控件。整个流程由InputManagerService系统服务为核心的多个参与者共同完成,如下图所示。内核将原始事件写入内核InputReader不断地通过EventHub将原始事件取出来并翻译加工成Android输入事件,然后交给InputDispather。

2024-03-18 18:07:59 718

原创 Android程序员的生存法则:如何在科技狂潮中,永保职场C位?

出租车司机做梦都没想到,满大街都是抢他生意的私家车,更没想到,满大街都是,共享单车,共享电动车,共享摩托车;所以,想做一个牛逼的程序员,那么就要让自己站的更高,成为技术大牛并不是一朝一夕的事情,需要时间的沉淀和技术的积累。只要是程序员,不管是Java还是Android,如果不去阅读源码,只看API文档,那就只是停留于皮毛,这对我们知识体系的建立和完备以及实战技术的提升都是不利的。可见,真正能把你淘汰的,永远不是你的竞争对手,而是时代的发展和科技的进步。三十年前,你要是会英语、会计算机,那绝对是个人才;

2024-03-18 17:54:57 912

原创 拥抱单向数据流:Android 开发中的 MVI 架构详解

MVI架构提供了一种构建响应式应用的强大方法,它将用户意图、应用状态和界面展示分离开来,使得应用逻辑变得清晰且容易管理。虽然它可能会带来更陡峭的学习曲线和更多的样板代码,但其带来的可测试性、可预测性以及更好的状态管理能力是不可否认的。如果你打算构建一个需要严格状态管理和具有复杂用户交互的应用,MVI架构可能是一个值得考虑的选择。如果想要成为架构师或想突破20~30K薪资范畴,那就不要局限在编码,业务,要会选型、扩展,提升编程思维。

2024-03-12 22:19:02 881

原创 Android开发破局内卷,深入理解Framework的重要性

近年来,客户端开发领域的竞争日趋白热化,安卓开发者普遍反映面临严重的内卷问题。在这样的环境下,开发者所承受的压力与日俱增,想要掌握足够全面的技能以实现职业发展的突破变得愈发困难。解决内卷困局,明晰发展方向,成为许多安卓开发者亟待应对的挑战。但是对于大多数开发者而言,深入精通Android Framework是一项艰巨的任务,更别提能够将所学应用到其他领域了。若要成为真正的高级Android开发者,对Framework的深度理解和熟练运用是必不可少的核心素质。

2024-03-12 21:58:01 1006

原创 Flutter AutomaticKeepAliveClientMixin一次性讲清楚

在规避页面被重建、防止数据丢失的场景中,可能会需要混入AutomaticKeepAliveClientMixin。

2024-03-07 17:48:05 903

原创 鸿蒙(HarmonyOS)要放大招了!华为重磅更新,期待值拉满!

*重磅消息来了!鸿蒙秋季秋季将迎来令人振奋的重大更新**!然而这个重磅消息,估计很多小伙伴和我一样,已经期待值拉满了!

2024-03-07 17:39:35 903

原创 金三银四备战Android岗,独家必考题库持续更新中

金三银四的黄金招聘季节即将来临,这不仅是求职者寻求更好职业发展的关键时期,更是职场人期待已久的涨薪良机。我深知众多朋友早已未雨绸缪,提早开始了面试和跳槽的各项准备。我一直坚持并倡导的理念就是:成功往往青睐于那些有备而来的奋斗者。任何目标的达成,无论是在职场晋升还是技能提升上,都需要我们提前布局,做好充分的规划与准备。正所谓“凡事预则立,不预则废”,对于重要的事项,提前准备的重要性我愿再三强调。在此,为了帮助大家更好地迎接金三银四的挑战,我特别整理了一份最新Android岗位必考题目大全。

2024-03-01 21:53:37 329

原创 Android依赖分析自动化工具实战

一个Android工程常常会有很多依赖,可能是组件化项目对于其他业务及中间件的依赖,也有可能是对于第三方sdk的依赖。这里我们分别看下对于这两种场景为什么需要自动化的版本依赖分析工具:

2024-03-01 19:48:28 925

原创 Android应用出海必备技能 —— 多语言适配

软银集团创始人孙正义说过,在成熟的市场发生过的事情,在落后市场发生的概率就会增加。那么,创业这件事就是如此,如果国内市场饱和了,那么就换个地方。同样的模式,降维打击。你赚钱最稳的方式,就是把一个已经发生过的市场的业务,转移到还没有发生过的。因为坑都已经踩过了,所以相比做开创性的创新业务来说,风险更小。那么就进入今天的主题,Android应用如何做多语言的适配?如果想要成为架构师或想突破20~30K薪资范畴,那就不要局限在编码,业务,要会选型、扩展,提升编程思维。

2024-02-26 22:15:23 1086

原创 Android开发者面对车载开发风口的转型抉择与技术深造之路

但是现在大部分Android开发者,都是在从事业务层面的开发,每天就写一些简单的代码,拿着别人的框架在搬运,每天重复性的操作。在当前Android开发领域,由于初级至中级人才市场供应过剩,行业供需失衡现象明显,企业纷纷采取一系列紧缩政策,如提前结束合同、机构重组、业务剥离和招聘规模压缩等,这进一步加剧了Android开发行业的内卷程度。特别是在新能源汽车领域蓬勃发展之际,各大厂商纷纷提早布局车载智能系统,带动了车载开发岗位数量的增长和薪酬待遇的提升,吸引了众多Android开发者转移战场。

2024-02-26 22:06:23 862

原创 Android基础之--RecyclerView实现多种Item布局

本示例实现两种不通类型的Item布局,因此需要自定义2个ViewHolder,在ViewHolder中根据Id去获取各自Item布局中的控件;= null= nullinit{= null= nullinit{这里定义常量主要是作为重写getItemViewType方法的判断条件,即哪种情况下显示哪种Item布局;如果想要成为架构师或想突破20~30K薪资范畴,那就不要局限在编码,业务,要会选型、扩展,提升编程思维。

2024-02-21 17:55:56 1034

原创 最新Android面试500题,直击面试痛点

每个技术人都有一个进入知名移动互联网企业工作的梦想,这是再正常不过的追求,并非茶余饭后的闲谈,而是每一个Android开发者的进阶目标。诸如阿里、腾讯、美团、字节跳动、京东等公司的移动端技术氛围与规范程度普遍高于不少创业型公司或小型团队。若能在这样的公司锤炼数年,对个人Android技术能力的成长无疑是巨大的。

2024-02-21 17:46:31 483

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除