自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 2021 届字节、百度、腾讯、阿里校招面经以及薪资大比拼你们酸了吗?

字节一面(1hour):自我介绍handler机制,sendMessage和post(Runnable)的区别。ThreadLocal原理,底层实现HashMap底层,扩容,LinkedHashMapService的onBind和onStart差别Activity启动生命周期,A跳转BAndroid持久化方案,SharedPreference是否可以跨进程通讯。ContentProviderClassLoader机制,双亲委派。如果我要写一个Activity类,那怎么保证加载的是我自己

2021-06-17 16:56:03 7937 15

原创 Android中高级开发进阶必备资料(附:PDF+视频+源码笔记)

Android的发展趋势让很多人寻找到了新的发展机遇,很多程序员纷纷转型Android开发,大批零基础人员参加培训进入Android开发领域,学习Android开发有效的学习方法能够迅速提升技能。Android开发学习过程中要掌握好基础知识,特别是java语言的应用,然后逐步提升开发者在学习过程中遇到的一些细致化的问题,把一些难点进行解决,在开发过程中把容易出现的一些难点进行合理化控制,避免在程序生成产品后出现问题,从而导致崩溃,这是非常重要的一点。这里分享一份由几位大佬一起收录整理的 Android学

2021-06-15 14:54:20 14534 22

原创 24年最新AI 大模型面试指南(含答案)大放送!

AI 大模型技术经过2023年的狂飙,2024年必将迎来应用的落地,对 IT 同学来讲,这里蕴含着大量的技术机会,越来越多的企业开始招聘 AI 大模型岗位,本文梳理了 AI 大模型开发技术的面试之道,从AI 大模型基础面、AI 大模型进阶面、LangChain 开发框架面、向量数据库面等不同知识维度,试图找到一个共同的面试速成模式,希望对大家有所助益。AI 大模型基础面Q1:目前主流的大模型体系有哪些?

2024-07-22 16:41:56 550

原创 Resnet18实现二分类

这里采用交叉熵损失,也可以根据实际需求进行修改。优化器这里采用Adam因为这个行业不同于其他行业,知识体系实在是过于庞大,知识更新也非常快。作为一个普通人,无法全部学完,所以我们在提升技术的时候,首先需要明确一个目标,然后制定好完整的计划,同时找到好的学习方法,这样才能更快的提升自己。这份完整版的大模型 AI 学习资料已经上传CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费。

2024-07-22 10:17:38 390

原创 NCNN推理ResNet18

因为这个行业不同于其他行业,知识体系实在是过于庞大,知识更新也非常快。作为一个普通人,无法全部学完,所以我们在提升技术的时候,首先需要明确一个目标,然后制定好完整的计划,同时找到好的学习方法,这样才能更快的提升自己。这份完整版的大模型 AI 学习资料已经上传CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费。

2024-07-22 10:06:00 475

原创 深度学习分类网络---ResNet

通过上一篇分类网络的介绍,我们知道网络的宽度和深度可以很好的提高网络的性能,深的网络一般都比浅的的网络效果好,但训练一个很深的网络是非常困难的,一方面是网络越深越容易出现**梯度消失和梯度爆炸**问题, 然而这个问题通过BN层和ReLU激活函数等方法在很大程度上已经得到解决;另一方面当网络层数达到一定的数目以后,网络的性能就会趋于饱和,再增加网络层数的话性能就会开始**退化**,这说明当网络变得很深以后,网络就变得难以训练了。下图展示了不同深度网络的效果。

2024-07-21 08:30:00 536

原创 深度学习---2D视觉领域分类

语义分割 **对图片中每个像素分配一个语义标签(类别)**。 * 实例分割 **实例分割可以理解成目标检测和语义分割的结合,其检测出每个对象的位置,并用分割掩膜(mask)表示每个对象所在区域,同一类别中的不同物体表示为不同的实例**。 * 全景分割 **可以理解成语义分割和实例分割的结合,即每个像素都分配一个语义标签和一个实例ID,语义标签和实例ID都相同的像素认为是属于同一个对象。**

2024-07-20 08:30:00 489

原创 全网独一份!AI大模型学习训练资源,先到先得!

如果你问:2024年,程序员必须掌握哪项技术?AI一定是榜首!从去年起,AI大模型已是程序员的必备工具——‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍编程提效:编写更快,程序更稳定;代码更优:测试数、BUG对应减少;项目爆单:训练模型,接&做项目更快;输入prompt指令和搭建AI大模型开发框架,AI就能迅速批量完成工作,甚至比人工更出色。知名大厂都在布局AI市场,懂AI的程序员年薪甚至翻到 80w-96w!未来职场,如同吃饭要用筷子,程序员必须会用AI技术。

2024-07-19 16:13:34 241

原创 深度学习---图像分类网络

深度学习在图像邻域的应用大致可以分为图像分类、目标检测、图像分割三大类,其中图像分割又可以细分为语义分割、实例分割和全景分割,这一篇梳理下常见的分类数据集和分类网络,后续会重点介绍ResNet,并逐步实现ResNet训练及推理。

2024-07-19 15:15:22 261

原创 深度学习--- 深度学习基础

人工智能(AI)是指将机器或计算机程序赋予类似于人类智能的能力,即可以像人一样感知、理解、学习、推理和创造。* 机器学习(Machine Learning,简称ML)是人工智能中的一种方法和技术,通过让计算机从数据中学习模式和规律,从而不需要人类明确地编写特定的程序来完成任务。* 深度学习(Deep Learning)是一种基于人工神经网络的机器学习技术,通过模拟人脑神经元之间的联系和活动方式,来实现对输入数据进行分析、抽象和处理的能力。

2024-07-19 15:13:51 601

原创 七年Android开发经验谈,性能优化,一项不可或缺的硬技能

在Android开发领域摸爬滚打七年,我深刻体会到性能优化的重要性。作为一名长期从事性能相关工作的开发者,我接触了众多模块,深知要做好性能优化并非易事。为何这么说?因为性能优化不仅仅是学习一项技术,而是一个涉及广泛知识体系的复杂过程。性能优化的难点在于,它要求我们对Android的各个知识点有全面而深入的了解。在Android开发中,每个知识点都像是整体的一部分,牵一发而动全身。要想做好性能优化,我们不仅要学习性能优化的技巧,还要掌握系统架构、框架原理、编程范式等多方面知识。

2024-07-15 16:29:20 951

原创 Android程序员如何在“内卷”市场中打造核心竞争力?

近年来,互联网行业经历了迅速的扩张,吸引了无数求职者转行成为程序员,尤其是Android开发领域。然而,随着市场的饱和和公司项目紧缩,初级程序员的就业形势变得愈发严峻。今年,工作三年以下经验的程序员成为了裁员的重灾区,而对于那些刚刚踏入行业的新人来说,竞争更是残酷。过去几年,转码风潮席卷了各个专业,大量求职者涌入互联网行业,其中不乏众多初级Android程序员。如今,市场上初级程序员的数量远远超过了需求,导致他们在就业市场上面临着巨大的竞争压力。

2024-07-11 16:39:52 248

原创 Android开发者职场攻略,如何在就业寒冬中逆袭上位?

在当前的就业环境中,Android开发者的处境似乎并不乐观。许多开发者发现自己正处于一种不断循环的状态:找工作、面试、再找工作、再面试,但最终收到的Offer往往并不符合他们的期望,尤其是在薪资方面。这种情况的出现,很大程度上是因为市场对于传统Android开发的需求正在发生变化,而招聘公司的技术要求却在不断提高。一方面,随着移动互联网的成熟和市场的饱和,传统Android应用开发的增长速度放缓,导致企业对于初级和中级Android开发者的需求减少。

2024-07-08 16:05:37 577

原创 【进阶之路】Android程序员如何突破市场饱和,成为稀缺的高级技术人才?

在编程开发这个充满挑战与机遇的领域里,有这样一句流传甚广的话:“只有越往上走,才能脱离苦海。”这句话不仅道出了行业内的普遍压力,也揭示了一条通往光明未来的路径——不断学习与自我超越。尤其在Android开发领域,初中级市场的饱和与高级、专家市场的人才短缺形成了鲜明对比,这背后隐藏着怎样的行业趋势和个人发展策略?

2024-07-03 15:38:24 702

原创 从“护城河”到“不可替代性”,Android开发者的转型思考

在快速迭代的科技行业中,“护城河”这一概念似乎越来越难以界定,特别是在客户端开发领域。曾几何时,掌握一门特定技术就意味着拥有了一片专属领地,然而时至今日,随着技术的飞速发展和市场需求的变化,我们不得不重新审视这一观念。对于Android客户端开发者而言,市场增量放缓、技术普及化、人才饱和等现实问题,无一不在提醒我们:真正的安全网不是固守已有的技术阵地,而是提升自身的不可替代性。

2024-06-29 20:34:43 634

原创 【强烈推荐】Android开发进军音视频的学习宝典+思维导图

在当今数字化的时代,音视频内容已成为人们日常生活中不可或缺的一部分。从抖音、快手等短视频平台的风靡,到虎牙、斗鱼的直播盛况,再到腾讯视频、爱奇艺的影视盛宴,音视频应用正以前所未有的速度渗透到生活的每一个角落。然而,对于Android开发者而言,涉足音视频领域的开发工作仍然被视为一个小众而专业的领域。尽管参与其中的开发者数量尚不算庞大,但这一领域所涵盖的知识点和技术深度,却足以让其成为Android开发中的一片新兴蓝海。

2024-06-26 15:38:56 539

原创 Android开发者的进阶之路:从全能选手到大厂专家的蜕变指南

在Android开发的世界里,我们时常会遇到这样的情况:开发者们在小公司的环境中身兼数职,涉猎系统开发的各个领域,却往往感到自己样样通,样样松,缺乏系统性和深度。这种现象在小公司中较为普遍。面对这样的现状,不少开发者开始思考如何突破瓶颈,走向更专业的技术领域,尤其是向往大厂那般精细化、高水平的系统开发。那么,如何从“多而不精”的状态中走出,找到自己的技术深耕之路呢?从Android开发的“多面手”到专攻一域的专家,转变过程虽不易,却是技术生涯中必经的成长之路。

2024-06-21 15:22:23 924

原创 【职场逆袭】Android市场动荡,如何一招制胜?

现在的Android市场可以说就是一个字,蹦了!为什么这么说?别看金山银四已经过去了,依旧不少Android开发者还在为工作四处奔波。在过去的时间里还没有出现过这样严重的问题。可想而知今年的就业行情是多么的惨。现在大部分人唯一的想法就是先苟住,等到形势好了在想跳槽涨薪这些事。能不能苟住还是个问题,因为现在市面上初中级Android开发的需求已经饱和,很多人都在面临可能被优化的风险。所以能不能苟住还得看运气。想要避免这些的情况发生在自己身上,唯一的方法就是钻研,这是目前Android开发的唯一出路。

2024-06-18 19:18:45 734

原创 24年了,还能入局Android吗?

2024年了,Android现状就是短期内不会凉,但会很卷!!!如果Android开发是指手机app应用开发,那确实不太行,不行的不止是Android,更惨的还有iOS开发互联网客户端Q开发就像是一场死亡大逃杀,一群工龄10年+的老油条在未位淘汰机制的PUA下卷生卷死。但这种内卷没有未来,互联网行业规模在肉眼可见的缩小,中小厂养不起原生客户端开发,大厂没有太多新增业务。互联网浪潮已过,这是无可争议的事实。

2024-06-14 11:42:33 812

原创 Android程序员如何增加自己的不可替代性?

2024年,Android开发者的就业市场面临着巨大的压力。大厂裁员,大批人才涌入市场,高校毕业生人数更是达到了1179万的历史新高。随着金三银四季度的尘埃落定,Android开发领域内部分程序员面临着就业市场的寒冬,初级岗位的饱和、鸿蒙系统及人工智能的崛起,无疑给行业带来了新的挑战与机遇。在这样的背景下,Android程序员如何提升自己的竞争力,增加不可替代性呢?

2024-05-24 09:30:00 325

原创 Android AppCompatImageView修改Icon颜色

在 Android 中,AppCompatImageView 中设置的 src 资源如果带有透明度,再设置 tint 色值时可能会遇到一些问题。具体来说,tint 会叠加到原始图像的颜色上,但如果图像本身包含透明度,结果可能不符合预期。

2024-05-24 08:30:00 1742

原创 探讨 Kotlin 协程中 suspendCoroutine 的最佳实践与优化

Kotlin 协程为异步编程提供了强大而灵活的工具,而`suspendCoroutine` 或者 `suspendCancellableCoroutine`(下面统称`suspendCoroutine`)函数则是其核心之一。它允许我们将传统的回调风格的异步操作转换为挂起函数,从而使代码更加简洁和易于理解。然而,正确使用`suspendCoroutine`并不容易,需要遵循一些最佳实践和优化技巧。

2024-05-22 08:30:00 697

原创 Android菜鸟如何快速学习Android Framework?

在当今的Android开发领域,初级程序员的数量虽众,但市场对高级开发者的渴求却日益增长。究其根本,高级开发者不仅能够熟练运用技术解决复杂问题,更能深入底层,掌握Framework层面的知识,为应用性能优化、功能创新提供强大支撑。随着鸿蒙生态的兴起,不仅为Android开发者开辟了新的职业道路,同时也对开发者提出了更高的技术要求,尤其是对Android Framework的掌握成为了跨越初级与高级之间的一块重要跳板。对于有志于成为高级程序员的初级开发者来说,制定一个合理的学习路线并利用好学习资料至关重要!

2024-05-20 09:00:00 903

原创 Kotlin版本的Gradle全局配置及参考文档

直接在`.gradle`文件夹下添加文件`init.gradle` / `init.gradle.kt` for kotlin dsl.如果同时存在`init.gradle`和`init.gradle.kt`,则优先按照`init.gradle`中的配置,除非手动指定初始化脚本`--init-script`

2024-05-20 08:00:00 505

原创 Android开发者必读,从初级菜鸟蜕变为高级大牛

所以,想做一个牛逼的程序员,那么就要让自己站的更高,成为技术大牛并不是一朝一夕的事情,需要时间的沉淀和技术的积累。:热修复设计+插件化框架解读+组件化框架设计+图片加载框架+网络访问框架设计+RXJava响应式编程框架设计+IOC架构设计+Android架构组件Jetpack。只要是程序员,不管是Java还是Android,如果不去阅读源码,只看API文档,那就只是停留于皮毛,这对我们知识体系的建立和完备以及实战技术的提升都是不利的。:小程序介绍+UI开发+API操作+微信对接。

2024-05-17 09:30:00 831

原创 Android 获取手机内的所有小组件

为了获取手机内的所有小组件(App Widgets),你可以使用 `AppWidgetManager` 类的 `getInstalledProviders` 方法。这个方法返回一个包含所有已安装小组件信息的列表。你可以在自定义 Launcher 中使用这个方法来展示所有可用的小组件,并允许用户选择添加到桌面。

2024-05-17 08:30:00 917

原创 Android开发想要升职加薪,Framework这关你过了没?

在Android开发领域,如果你想在职场上更进一步,实现升职加薪的梦想,那么掌握Android Framework层面的知识就显得尤为重要。不仅如此,随着华为鸿蒙操作系统(HarmonyOS)的崛起,对Framework的深入理解更是成为了开发者技能必不可少的一项!!Android Framework是Android操作系统的核心组成部分,它提供了一系列的API和服务,使得开发者能够构建功能丰富的应用程序。

2024-05-15 09:00:00 959

原创 Android logFgsBackgroundStart源码分析

1. 如果前台Service从后台启动的,则将相关信息输出到日志。2. 输出到日志的内容有两类,一类是wtf,一类是普通的日志。3. 不重复记录启动信息。

2024-05-15 08:30:00 967

原创 2024年,Android程序员如何提升竞争力,应对就业压力?

2024年,Android开发者的就业市场面临着巨大的压力。大厂裁员,大批人才涌入市场,高校毕业生人数更是达到了1179万的历史新高。在这个形势下,Android程序员该如何提升自身竞争力,应对就业压力呢?我们要认识到,在当前形势下,仅仅具备基本的Android编程技能已不足以应对市场的竞争。从下面的招聘需求不难看出,现在精通等底层技术显然成为企业招聘的标杆但是大多数Android开发者,基本上每日的工作内容就是调用接口、画页面上和应付后端,妥妥的“缝合怪”,代码可读性还不如java,简直是开倒车。

2024-05-11 17:55:15 886

原创 在Android Native层实现Try/Catch异常处理机制

首先,我们定义一个结构体,用于保存线程的异常处理信息。这个结构体包括一个sigjmp_buf类型的变量ctx,用于保存setjmp的上下文;一个标志位ctx_is_set,表示上下文是否已经被设置;以及其他与异常处理相关的信息。int code;int line;int alarm;

2024-05-11 14:16:16 891

原创 现在学Android开发找工作难不难?市场是不是人满为患了啊?

市场确实是有点儿饱和,特别对那些刚入门的小伙伴,学了个基础就想找份工作,可能得碰壁头破血流了。因为现在遍地都是基础开发者,门槛低,活儿也多,竞争就大了。你得肯下苦工,往高精里学,多学几招,找个好方向钻进去,这碗饭还是有得吃的。再者说,现在这年头儿,各行各业都要APP,你得挑个方向,比如医疗、教育、智能家具这些,往里头钻,专门干,你就是专家了,饭碗儿就硬了。知识梳理完之后,就需要进行查漏补缺,所以针对这些知识点,我手头上也准备了不少的电子书和笔记,这些笔记将各个知识点进行了完美的总结。

2024-05-09 17:51:00 477

原创 ANR logcat&trace文件分析流程

发生ANR的时候,系统会产生一份anr日志文件(手机的/data/anr 目录下,文件名称可能各厂商不一样,业内大多称呼为trace文件),内含如下几项重要信息。

2024-05-09 15:12:38 347

原创 App开发和Framework开发走那个方向比较好呢,求解?

相比之下,Android Framework开发乃至更广泛的系统级开发,虽然技术门槛较高,但因其专业性和稀缺性,能够为开发者提供更为稳定且薪酬丰厚的职业机会。另一方面,由于应用数量的爆炸式增长,新应用要想脱颖而出,除了创意新颖,还需强大的市场推广和资金支持,这对于独立开发者或小型团队来说,门槛日益提高。而且掌握Android Framework的开发者,其技术栈在一定程度上具有较强的通用性,即便未来Android市场出现变化,也能较为容易地转向其他操作系统,如。同时,这些领域也伴随着更高的。

2024-05-07 18:38:33 765

原创 实用指南:如何规避 Android 开发中的内存泄漏陷阱?

通过本文的介绍与示例,相信大家已经对Android内存泄漏问题有了更深入的理解,并掌握了一些有效的优化技巧。在日常开发中,务必要重视内存泄漏问题,及时发现并解决潜在的内存泄漏隐患,以提升应用程序的性能和稳定性。

2024-05-07 17:49:30 989

原创 Android应用保活攻略

Android应用保活是一个老生常谈的话题,本文尽可能收集市面上的保活手段,希望能对你有所帮助。在Android系统中,保活(保持应用进程一直存活)就是为了让应用在后台持续运行,来实现某些特定的功能,如实时消息推送、定位服务等。然而,由于Android系统为了节省资源和保护用户隐私,通常会限制后台应用的运行。因此,我们需要采取一些策略来实现保活。以下是30个常见的Android保活手段,帮助你突破后台限制。保活策略可能会导致系统资源消耗增加、用户体验下降,甚至引发系统限制或用户卸载应用。

2024-05-05 19:03:00 1783

原创 Android开发进阶学习路线指南,最详资料解析

近年来,不少人对Android行业发展趋势表达了关注。从宏观视角看,每个行业都会经历从初期爆发到成熟稳定的周期。Android开发领域在经历了2011年至2013年的迅猛扩张后,已步入了其成熟阶段。这一时期,企业对Android岗位的需求变得更加精细化,不再是仅凭基础技能就能轻松获得工作机会的时代。对于新手而言,此时入行看似时机稍晚,但实际上,市场对于拥有深厚技术功底和丰富经验的高级Android开发者的需求仍然迫切,呈现出一种“高手难求”的局面。

2024-05-05 18:56:37 312

原创 同样是安卓程序员,为什么别人成长那么快?

经过十余年的安卓开发生涯,从最初的App开发到现今深耕于Framework层面,我亲身经历了安卓行业的高潮起伏,直至现在的平稳但仍在持续发展的阶段。即便如此,安卓开发作为一个领域,仍然要求从业人员不断学习与进步。

2024-05-02 08:45:00 779

原创 在React Native中构建自适应用户界面

在`React Native`中构建自适应用户界面需要深入了解可用工具和技术。通过利用 `Dimensions API`、`useWindowDimensions`钩子、`SafeAreaView`组件和平台特定的编码策略,您可以创建响应式和自适应的`UI`,为不同的设备和平台提供最佳的用户体验。

2024-04-29 21:55:58 828

原创 Android 程序猿如何继续深入的研究技术层的知识?

个人自学Android开发,目前从事Android开发工作,独立完成过一个App 十万行代码左右,现在在想要更加深入的学习些东西,但是不知道从何处着手,目前的能力是,了解大部分官方文档中Android 开发中的技术,能够根据客户需求搭配出合理的技术组合(但是部分技术并不熟,开发时可查阅资料独自完成 PS:不是纯拷贝前人代码),了解Android开发的流程,但是因为小公司,目前尚无完整的测试流程。我现在还是,战战兢兢地学,小心翼翼地吹,能谨慎发表的意见,才不怕更高深的人揭短。”时,意气风发的答,有十万行。

2024-04-29 21:33:56 553

原创 高性能高安全性的最佳选择:Kotlin Immutable Collection 及纯函数的思考

在纯函数中,我们会非常频繁的使用 Immutable collection 的特性,也会非常频繁的使用或其他操作来合并两个列表,通过 MyPersistentList,我们便能够做到通过持有引用来实现一个伪 List,而不需要真的拷贝一个新数组,这种方式能够较好提高程序的运行效率,也能减少内存拷贝情况的发生,以至于 MyPersistentList 的合并性能可以超越原生 list 使用可变性做到的的 flatten 操作。

2024-04-26 17:49:38 721

空空如也

空空如也

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

TA关注的人

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