Android程序员安卓
文章平均质量分 90
Android Developer
这个作者很懒,什么都没留下…
展开
-
想搞懂Jetpack架构可以不搞懂生命周期知识吗?
1. 前言Activity生命周期真是一个非常古老的话题,无论是10年前,还是当下。不管是面试还是工作,经常会遇到与Activity生命周期相关的问题。比如“按下返回键和Home键,生命周期方法调用顺序”、“A启动B,它们的生命周期方法调用顺序”。工作中,Jetpack Lifecycle、LiveData、ViewModel等组件都是建立在生命周期之上。在我研究Jetpack Lifecycle、LiveData、ViewModel源码时,我发现它们与组件的生命周期有很大的关系。它们能够自动感知组件的原创 2021-07-09 14:51:04 · 658 阅读 · 0 评论 -
研究Android音视频-3-在Android设备上采集音视频并使用MediaCodec编码为H.264
本文解决的问题本文主要使用MediaCodec硬编码器对Android设备采集的音视频编码封装音视频基础编码器封装音频编码器封装视频编码器使用新封装的视频编码器改造示例2使用Camera进行视频录制(YUV420SP)并保存为视频流(H.264)使用AudioRecord进行音频录制(PCM)并保存为音频流(AAC)使用MediaMuxer混合器合并视频和音频为一路流(H.264)(待完成)示例链接一、封装音视频基础编码器定义编码接口类ICodec:interface IC.原创 2021-05-10 21:03:08 · 584 阅读 · 0 评论 -
做Android开发,如何使用 Kotlin 提高生产力!
Kotlin 以其简洁的特性而闻名,而在我们的实践中,更加简洁就意味着更加高效。事实上,在使用 Kotlin 的专业 Android 开发者中,有多达 67% 的人表示 Kotlin 已经帮助他们提升了生产力。在接下来的内容中,我会分享一些 Kotlin 帮助我们的合作伙伴工程师们提高生产力的方式,并为您介绍有助于此的 Kotlin 功能。在使用 Kotlin 的专业 Android 开发者中,有多达 67% 的人表示 Kotlin 已经帮助他们提升了生产力简洁、简单且高效Kotlin 的简洁性对开发原创 2021-05-07 14:38:14 · 306 阅读 · 0 评论 -
从面试无人问津到手拿百度offer,还原一段野生程序员的成长经历
野生程序员的成长经历本人是山东普通一本学历,机电专业,15年转行做的andorid开发。作为一个野生程序员,成长历程比较坎坷,开始靠培训机构或者个人自学,初级时就能入职互联网开发,非常困难,初级入职阶段,就能淘汰一大批培训机构的同学,很幸运自己能实现转变,很感激帮助我的同学和第一家时经理收留信任。靠着自己2年多的不断的学习和积累,从一个小白白成长为一个合格工具人,还完成个人薪资翻倍的跳槽。在第二家公司,也慢慢的技术视野和深度的扩展,能从容应对开发和各种问题。由于公司没有涨薪制度,所以就有了跳槽的计划准备原创 2021-03-28 20:47:26 · 1426 阅读 · 9 评论 -
Android组件化框架设计与实践
在目前移动互联网时代,每个 APP 就是流量入口,与过去 PC Web 浏览器时代不同的是,APP 的体验与迭代速度影响着用户的粘性,这同时也对从事移动开发人员提出更高要求,进而移动端框架也层出不穷。上图显示的是传统的服务端架构和客户端 App 架构对比。传统的服务端架构中最底下是一个 OS,一般是 Linux,最上面服务端的业务,而中间有非常多的层次可以在架构上,按照我们的意愿搭建中间的各个层次的衔接环节,使得架构具有足够的灵活性和扩展性。但是到了 App 就会面对一个完全不同的现状,App 的OS(原创 2021-03-12 11:39:37 · 457 阅读 · 3 评论 -
Android实现三角形气泡效果方式汇总
在开发过程中,我们可能会经常遇到这样的需求样式:这张图是截取京东消息通知的弹出框,我们可以看到右上方有个三角形的气泡效果,这只是其中一种,三角形的方向还可以是上、下、左、右。通过截图可以发现,气泡由正三角形和圆角长方形组成,于是可以通过组合来形成三角形气泡的效果,下面我们通过三种方式进行实现。实现方式: 1、通过.9图进行实现; 2、通过shape方式实现; 3、通过自定义view的方式实现;实现逻辑:1、通过.9图进行实现这种方式就不用说了吧,找你们UI小姐姐切一个.9图,使用即可,不过这种原创 2021-03-12 11:17:19 · 523 阅读 · 0 评论 -
Android字节跳动一面,被面试官吊打
缘起最近看到很多准备春招的童靴,面试被各种吊打。除了提升专业技术水平外。程序员招聘校招相关的注意事项也是大家需要熟悉的。像下面这位同学,分享自己Android字节跳动一面,被面试官吊打!实习项目介绍;如何实现的;为什么使用反射;XML解析的方式;DOM和SAX解析的区别;注解的分类;ButterKnife实现原理MVP模型是怎么样的;如何实现的;P层是怎么实现的*为什么选用OkHttp库;拦截器链是如何实现的;自己实现的拦截器是用哪里的;是如何做DNS的;处于onResume的activity原创 2021-03-03 11:27:37 · 867 阅读 · 2 评论 -
企业招聘普遍年龄35岁以下,那全国人过40岁都干什么去了?
开工了,又到了一年一度的求职热门季,虽然社会大的环境还是利好,但未来的发展前景还是不错,国内疫情平稳,一切都井然有序地向好的一面发展。只是这求职市场上为啥还是一如以前的冷酷,清一色地写着“年龄35周岁以下”的字样。不管是公司还是企业,大家都在追求人才年轻化,那年龄40岁以上的人都去哪里了呢?这天下之大,难道真得没有中年人的活路了吗?虽然招聘、求职市场上几乎是100%的不用40岁以上的人,那全国14亿人口,再加上我国人口老龄化,那么多的40岁以上的人都干什么去了?马斯洛需求层次理论说,人的需求按由低到原创 2021-02-27 17:01:48 · 820 阅读 · 3 评论 -
37岁老码农现身说法:投了500份简历,却只收到了3个面试邀请
近日,我在脉脉上看到一个,哦不,一个蛮让人惊讶的故事。这是真的吗?为什么未出现这样的状况?有调查发现,目前不少程序员在35岁以后不再从事程序员工作的原因主要是:第一:软件开发岗位的工作压力较大第二:程序员的知识结构更新速度快。第三:不少程序员在35岁以后普遍走到了管理岗位上。学会优雅转身接下来和大家分享一下我这么多年的转型之路。姑妄听之:1、转型技术管理2007 年下半年到 2009 年初,我慢慢转向技术管理角色,开始管理一个研发部门。我走的路线是“技而优则管”。简单讲,就是你技术牛原创 2021-02-25 22:31:24 · 346 阅读 · 2 评论 -
自学Android,学多久可以加入字节跳动?
在回答自学Android,学多久可以加入字节跳动之前,我们先需要了解加入字节跳动的岗位职能要求,下图是我们从boss直聘上选取的今日头条Android工程师职位描述。职位要求假如我变成了一只小白。我想自学 Android,并且想要找到一份工作,我预计需要 6 个月的时间,前提条件是每天都处于高效率的学习状态当中,并且每天的学习时间至少在 12 个小时以上。即便是这样,我敢肯定,找到的工作肯定不会太好,勉强能够维持生活吧,毕竟是零基础入门啊。如果想更进一步,真正成为一名不可或缺的高级Android工程原创 2021-01-12 16:13:44 · 1591 阅读 · 4 评论 -
40 张图带你搞懂 TCP 和 UDP
这一篇文章是计算机网络连载文章的第四篇,历史文章请阅读一不小心画了 24 张图剖析计网应用层协议!TCP/IP 基础知识计算机网络基础知识总结下面开始本篇文章。运输层位于应用层和网络层之间,是 OSI 分层体系中的第四层,同时也是网络体系结构的重要部分。运输层主要负责网络上的端到端通信。运输层为运行在不同主机上的应用程序之间的通信起着至关重要的作用。下面我们就来一起探讨一下关于运输层的协议部分运输层概述计算机网络的运输层非常类似于高速公路,高速公路负责把人或者物品从一端运送到另一端,而计算原创 2021-01-06 19:48:02 · 662 阅读 · 0 评论 -
GitHub标星5.8+!移动开发音视频学习路线指南
最近经常遇到一些同学问我如何学习音视频,怎样才能快速上手?还有一些对音视频不了解的同学问我该不该学习音视频?作为一名音视频行业的10年老兵,我有一些思考分享给大家,希望能对你有所帮助。大背景2020年真的是一个多灾、多难的年份,冠状病毒的爆发使得本该举国欢庆的春节变得尤为沉闷。不能走亲,不能访友,除了呆在家里,那儿也不能去。正如张文宏大夫向我们劝解的,我们要将病毒给闷死。大家都盼着疫情可以赶紧过去,早点恢复正常的生活。但从目前的情况看,短时间内这个疫情是很难结束的。这不刚从中国消停了一阵,又跑到海外大原创 2021-01-05 14:35:00 · 855 阅读 · 1 评论 -
字节跳动面试官:一张图片占据的内存大小是如何计算
最近封装了个高斯模糊组件,正好将图片相关的理论基础也梳理了下,所以,这次就来讲讲,在 Android 中,怎么计算一张图片在内存中占据的大小,如果要优化,可以从哪些方向着手。提问阅读本篇之前,先来想一些问题:Q1:一张 png 格式的图片,图片文件大小为 55.8KB,那么它加载进内存时所占的大小是多少?Q2:为什么有时候,同一个 app,app 内的同个界面,界面上同张图片,但在不同设备上所耗内存却不一样?Q3:同一张图片,在界面上显示的控件大小不同时,它的内存大小也会跟随着改变吗?Q4:图片原创 2021-01-04 10:23:20 · 1860 阅读 · 1 评论 -
Android 组件化架构概要
组件化相信大家都很清楚他是什么,Android的一种开发架构,并且备受团队推崇,确实组件化在我看来对团队协作方面是帮助巨大的,随着应用开发的业务不断累积,我觉得我们更加应该关注架构的搭建,而不是一味的实现代码,这种重复工作以及无效时间就太多了,最近也阅读了很多关于架构的书籍,收获良多,所以今天的文章,就带领大家来领略一下组件化架构的美妙。我在慕课网的Android新课核心知识点如下:Android X/音视频开发/社交匹配算法/即时通信/语音识别/App优化/安全加固手把手完成商业级社交App开发进阶原创 2020-12-07 16:52:25 · 261 阅读 · 0 评论 -
我的2020年终总结:疫情之下裸辞后的一些感悟和面试心得(上篇)
本文主要回顾上半年疫情下的面试经验总结,作为2020年终总结的上篇。疫情之下裸辞后的一些感悟和面试心得因为个人原因,选择在疫情之下从上一家公司裸辞.从5月25日递交辞呈,到现在基本确定下来.2个月左右的时间,经历了一些挫折,也收获了些许成长.把我这段期间踩过的坑和一些感悟分享给大家,希望大家都能够少走弯路,找到心仪的工作,实现自己的价值.也给自己的这段时间做个总结,留个纪念.(本篇博文介绍的是后端Java开发岗位(大数据方向)的感悟和面试心得.涉及到的大部分内容适合像我一样不够优秀的普通程序员原创 2020-12-05 17:09:16 · 2823 阅读 · 3 评论 -
Android 如何从应用深入到Framework (一)
今天想跟大家聊聊,如何从应用开发,转向Framework开发。系统应用开发,现在来说,已经开始脱离系统,单独拿出来开发,系统定制接口,已提供给应用调用,用来增强功能。原生的桌面,拨号,设置,已经没法做出差异化优势,因此都费尽心机,来进行应用深度开发。对于之前维护系统应用模块的人来讲,修修补补,真的没有什么成长。每天的工作来说,没有很深的技术壁垒,很容易被别人攻陷。比如设置,比如联系人,在小的改动,修改故障的时候,没有非常高的要求,做过应用开发的,都可以过来参合一脚,改改问题。而让一个应用开发得去修改原创 2020-11-30 17:22:09 · 434 阅读 · 0 评论 -
Android集成常见问题
本文介绍了Android SDK集成过程中可能出现的问题和解决方法。调用实人认证SDK,进入认证页面一直显示转圈加载查看logcat日志。如果出现ErrorCode=202,则说明签名图片文件(yw_1222_0670.jpg)存在问题。一般是获取签名图片文件时的apk的签名和当前正在运行的apk签名不一致,具体请参见Android集成检查签名,并使用正确签名的apk获取签名图片文件。如果确认自己确实需要多个签名,请分别上传不同签名的apk包获取不同的签名图片文件,在运行时使用正确的签名图片文件。原创 2020-11-25 20:44:43 · 848 阅读 · 1 评论 -
从上帝视角看Android JetPack
从上帝视角看Android JetPack前言作为一名Android老司机,什么Square全家桶,Glide, 各种Bus, MVP,MVVM等等跟Android开发相关的主流的名词那都是如数家珍 。很多时候我们吐槽,Android碎片化严重,Google爸爸又天高皇帝远,对国内的Android生态又心有余而力不足。国内的Android开发者很长一段时间也基本处于散养的状态。项目的库基本都是用上面说到的主流库,自己动手,丰衣足食。可能大部分开发者们更focus的是当下的某个技术点,而缺乏从整个架构原创 2020-11-24 20:20:30 · 209 阅读 · 0 评论 -
今日头条快手等大厂刨根问底之APP启动流程篇
面试官:你知道APP的启动流程吗面试者:知道!当在launcher上点击一个APP的时候他会调用一个startActivity的方法,并给对应的intent设置一个new_task_flag在新的任务栈中启动activity,由于launcher也是一个APP,所以它可以直接调用launcher的activity的startActivity的方法。activity中的startactivity的方法里面其实会调用instrumentation的execstartactivity方法,instrumen原创 2020-11-16 10:54:19 · 455 阅读 · 0 评论