自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 mysql命令查看表内容

正文作为后端开发,日常操作数据库最常用的是写操作和读操作。读操作我们下边会讲,这个分类里我们主要来看看写操作时为什么会导致 SQL 变慢。刷脏页脏页的定义是这样的:内存数据页和磁盘数据页不一致时,那么称这个内存数据页为脏页。那为什么会出现脏页,刷脏页又怎么会导致 SQL 变慢呢?那就需要我们来看看写操作时的流程是什么样的。对于一条写操作的 SQL 来说,执行的过程中涉及到写日志,内存及同步磁盘这几种情况。这里要提到一个日志文件,那就是 redo log,位于存储引擎层,用来存储物理日志。在写操

2021-07-29 18:30:29 4337

原创 Android FrameWork 之Handler攻略

在Android开发中,经常会在子线程中进行一些操作,当操作完毕后会通过handler发送一些数据给主线程,通知主线程做相应的操作。探索其背后的原理:子线程、handler 、主线程,其实构成了线程模型中的经典问题 生产者-消费者 模型。生产者-消费者模型:生产者和消费者在同一时间段内共用同一个存储空间,生产者往存储空间中添加数据,消费者从存储空间中取走数据。保证数据生产消费的顺序(通过MessageQueue,先进先出)。

2023-01-30 14:31:04 7

原创 【开春好礼】备战金三银四,还没看完这份Android面试题的现在还来得及!

喜庆的春节就快要过去了,各位朋友们是时候把心思放在学习以及找工作上面了~过段时间必将迎来找工作高峰,春招、社招、以及很多准备跳槽的朋友们都跃跃欲试,都想要把握这次机会,拿到一份满意的offer~Android大环境也许会慢慢发生改变,但不管怎么改变,稳固基础,提升技术永远不会错!

2023-01-28 14:53:26 11

原创 Java 反射 之 动态代理(InvocationHandler)

动态代理: 通过反射的方式调用真实对象的方法静态代理: 真实对象显式地方法调用这样理解还是很抽象,还是具体实例代码容易理解。1 接口类package com.example.javalearnproject.reflectbasictest.proxy;public interface Subject { public void rent(); public void hello(String str);}2. 真实对象package com.example.jav

2023-01-26 23:08:53 11

原创 Android 设计模式 - 源码 之 单例模式

基类所以,这里单例抽象基类的作用:(1) 提供获取单例对象的方法(2) 声明 创建 单例对象 的抽象方法, 具体创建过程由子类实现(3) 提供 泛型参数,由子类 确定单例的实际功能本文转自,如有侵权,请联系删除。

2023-01-24 07:00:00 11

原创 【新年好礼】《Android中高级面试必知必会》免费分享啦!

祝各位小伙伴们新年快乐!金三银四就快要到来,一波求职高峰也随之袭来。都说2023年经济会好转,那么对Android工程师们会不会友好呢?可能有的朋友会感慨过去的2022年不好找工作、跳槽困难,于是就对Android失去了信心,有的小伙伴甚至转岗…其实就业环境的高低起伏是常态罢了,我们应该去学会适应这种变化,在复杂的变化中提升自己,找到自己的价值。所以大家赶紧学习起来,刷面试真题,锻炼自己的能力,相信一定能拿到满意的offer!面对求职热潮,怎么可能少得了一份全面的面试资料呢!相信很多朋友在网上找的面试资料都

2023-01-22 09:30:00 23

原创 【一文就懂】Android Kotlin协程用法介绍

Job我们可以认为他就是一个协程作业是通过生成的,同时它运行一个指定的代码块,并在该代码块完成时完成。我们可以通过isActive来获取到Job的当前状态。Job协程作用域()是协程运行的作用范围。launchasync都是的扩展函数,定义了新启动的协程作用范围,同时会继承了他的自动传播其所有的elements和取消操作。换句话说,如果这个作用域销毁了,那么里面的协程也随之失效。就好比变量的作用域,如下面test方法中的money变量复制代码此时money是不能被调用,因为AS会提示。

2023-01-16 10:57:09 25

原创 对面试毫无头绪?这份《Android 中高级面试必知必会》给你满意解答!

年后一大波找工作浪潮就要来临~Android岗位对工程师的要求比较高,再加上就业环境的逼迫,想要找到满意的工作确实有难度!想要从事Android岗位的朋友注意了,决定不能放松,要做到对知识举一反三,整理学习经验,那么机会就是你的!面对求职热潮,怎么可能少得了一份全面的面试资料呢!相信很多朋友在网上找的面试资料都是零散的,不全面的。然而这份《Android中高级面试必知必会》将会是你的必备神器!下面扫码免费送给大家!

2023-01-13 14:37:31 29

原创 【经典】迎战2023金三银四,不许你还没看过这份Android面试题集!

时间过的真快!转眼就到了2023年。开春后又是到了备战金三银四的时候了,虽然经济短暂回升,但Android就业形势依旧严峻!想要在新的一年找到一份满意的工作或者跳槽的小伙伴们注意了!一定要重视这次社招或春招机会,因为这将是一个新的开始,为新的一年做铺垫!

2023-01-11 10:38:46 44

原创 源码解读Flutter tools机制

开发Flutter应用过程,经常会用过Flutter命令,比如flutter run可用于安装并运行Flutter应用,flutter build可用于构建产物,相信有不少人会好奇flutter命令背后的原理。对于flutter命令的起点位于flutter sdk中路径/flutter/bin/目录中的flutter命令,该命令最终会调用到flutter/packages/flutter_tools工程。

2023-01-09 14:36:59 69

原创 Android Framework学习之跨进程传递大图片

跨进程通信是需要buffer的,发送数据需要buffer,返回数据也需要buffer,buffer只有整个transaction结束时才释放,发送数据占用太多buffer的话,留给返回数据的buffer就很少了。上面代码块,如果使用那个intent启动另外一个进程的Activity,会抛出TransactionTooLargeException, 是因为这个bitmap直接copy到缓冲区了,没有里有ashmem机制,因为allowFd机制没有打开。两次IO操作,进程1将图片写到磁盘上,进程2从磁盘读取。

2023-01-06 15:14:30 26

原创 分享:美团(上海)Android开发实习面经

上面的内容没有给大家做分类处理,为了大家更好的进行阅读,我将面试题放到了具体的板块来进行解读,帮助大家掌握最新的面试题考点。总体而言美团面试官人很好,答不上来会一直引导你,也不会很烦躁。并会对学习内容等给建议。面试官人超级超级好,全程微笑。对相关内容还会提出指导。Android面试大致可以分为。最后希望大家都能成功上岸!

2023-01-04 20:35:15 55

原创 决战2023春招,快把这份Android面试题集偷偷啃完!

2022考研已经结束,如果考研失利,你是否会因此一蹶不振?猜想现在很多伙伴已经在备战春招了吧~那就牢牢抓住2023春招这根救命稻草吧~春招可能不会跟秋招不相上下,只会更加激烈,更卷!所以,想要参加春招的伙伴们只能更加努力,决不能随波逐流,更不能躺平!为了帮助更多小伙伴在春招一展身手,现在将整理好的《2022最新Android中高级面试真题汇总+解析》免费分享给大家~Android面试大致可以分为Java、Android、计算机网络、算法和数据结构等板块。

2022-12-31 14:35:04 50

原创 怎么理解Kotlin中的数组?看完这篇必懂!

Kotlin 是一种新型的静态类型编程语言,有超过 60% 的专业 Android 开发者在使用,它有助于提高工作效率、开发者满意度和代码安全性。不仅可以减少常见代码错误,还可以轻松集成到现有应用中。在这里为了方便大家系统的学习Kotlin,这里特意联合了阿里P7架构师和谷歌技术团队共同整理了一份**Kotlin全家桶学习资料(免费领取~)**。内容概要:Kotlin 入门教程指南、高级Kotlin强化实战和史上最详Android版kotlin协程入门进阶实战。

2022-12-29 14:40:01 46

原创 Android性能优化学习篇——成为大佬指日可待

Android已经在全国各地普及,然而性能问题是造成App用户流失的罪魁祸首之一。App的性能问题包括崩溃、网络请求错误或超时、响应速度慢、列表滚动卡顿、流量大、耗电等等。而导致App性能低下的原因有很多,除去设备硬件和软件的外部因素,其中大部分是开发者错误地使用线程、锁、系统函数、编程范式、数据结构等导致的。即便是最有经验的程序员,也很难在开发时就能避免所有导致性能低下的“坑”,因此解决性能问题的关键是在于能不能尽早地发现和定位这些“坑”。

2022-12-27 14:31:51 43

原创 听说学完这篇Android音视频开发进阶指南的人,已经坐拥别墅了..

近些年来,随着各大短视频app的兴起,Android音视频开发也越来越受到重视。但是由于音视频开发涉及知识面比较广,入门门槛相对较高,让许许多多开发者望而生畏。整个音视频领域的架构以及开发已经演进了很长时间。从最开始的广电领域,到PC端的音视频领域,再到移动端的音视频领域。尤其在这几年中,移动端音视频领域架构的变化是巨大的。在Android开发岗位中,音视频开发也发挥着不可言喻的作用,该岗位对个人要求也比较高。音频数据的承载方式最常用的是脉冲编码调制,即PCM。

2022-12-15 14:52:23 42

原创 无名双非逆袭阿里,成功方法竟如此简单...

虽然 Android 没有前几年火热了,已经过去了会四大组件就能找到高薪职位的时代了。这只能说明 Android 中级以下的岗位饱和了,现在高级工程师还是比较缺少的,很多高级职位给的薪资真的特别高(钱多也不一定能找到合适的),所以努力让自己成为高级工程师才是最重要的。所谓高级工程师就是在技术上逐步沉淀,逐步体系掌握核心技术得来的。架构师这个词,在我大学期间也觉得遥不可及。从来没有想到过自己有一天也会戴上这个头衔。其实,只要按照我上述的思路,按部就班,脚踏实地的不断的学习、进阶,并不难的。

2022-12-13 15:04:03 46

原创 Android自定义ViewGroup的布局,往往都是从流式布局开始

前面几篇我们简单的复习了一下自定义 View 的测量与绘制,并且回顾了常见的一些事件的处理方式。那么如果我们想自定义 ViewGroup 的话,它和自定义View又有什么区别呢?其实我们把 ViewGroup 当做 View 来用的话也不是不可以。但是既然我们用到了容器 ViewGroup 当时是想用它的一些特殊的特性了。比如 ViewGroup 的测量,ViewGroup的布局,ViewGroup的绘制。下面我们一起复习一下ViewGroup的测量布局方式。

2022-12-08 17:02:30 32

原创 Flutter App开发黑白化UI实现方案ColorFiltered

这种效果在原生开发上大家肯定或多或少都了解过,原理都是在根布局绘制的时候将画笔饱和度设置成0;具体实现大家可以搜一搜这里就不贴了。

2022-12-01 21:09:15 84

原创 年末面试失败17次,2022年Android面试该如何准备?

最近,一位朋友面试失败 17 次的经历,成功引起了我的注意:“为了准备面试,我看了网上 80 多份“面经”,把大家总结的套路背得滚瓜烂熟了,结果面试时,还是经常被问到很多根本就没看过的问题……有的HR还会盯着简历上写的很细的东西问,有一次被问到1年前的开发经历“这里提高了30%的效率怎么做出来的?”的时候,我直接就蒙了。这个数字当时就是为了量化成果随便写的,准备的时候也根本没有细想过… 面试就这么挂了,心态直接炸了。很多同学准备面试时,会花大量的时间去看各种各样的“面经”。

2022-11-28 20:35:17 29

原创 Android中消息总线的几种实现方式

消息总线又叫事件总线,为什么我们需要一个消息总线呢?是因为随着项目变大,页面变多,我们可能出现跨页面、跨组件、跨线程、跨进程传递消息与数据,为了更方便的直接通知到指定的页面实现具体的逻辑,我们需要消息总线来实现。从最基本的 BroadcastReceiver 到 EventBus 再到RxBus ,后来官方出了AndroidX jetpack 我们开始使用LiveDataBus,最后到Kotlin的流行出来了FlowBus。我们看看他们是怎么一步一步演变的

2022-11-26 21:37:53 61

原创 一文带你学完ButterKnife 的源码

ButterKnife 这个开源库火了有一段时间了,刚开始它的实现原理是使用反射实现的,性能较差。再后面的版本中逐渐使用注解+放射实现,性能提高了不少。

2022-11-25 17:42:36 33

原创 2022程序员群体职场洞察报告:Android开发想要升职加薪应该学到什么程度?

近日,拉勾招聘针对程序员这一群体展开调研,并发布了《2022程序员群体职场洞察报告》,我们可以清晰地看到当前程序员群体的现状。对于2022的计算机毕业生群体:有77%的本科毕业生起薪超过了1万元,只有23%的00后程序员薪资在1万元以下。。而在这当中,11%的人经历过降薪;7%的人有过被裁员的经历,遭遇裁员后仍有3%的人未找到新的工作。可见,,这不单单是技术的问题,部门的晋升空间也是一件很重要的方面,,为了工作而工作,会给以后的发展留下大坑。

2022-11-23 14:33:19 78

原创 谈论flutter和jetpack compose学习优先级的背后,Android开发有着怎样的一套进阶逻辑?

在1982年的原版电影《银翼杀手》中,人类创造的“复制品”被用于危险的工作,当它们开始反抗时,一种被称为“刀锋杀手”的警官出现了。当谷歌第一次宣布Jetpack Compose时,不少人认为这将是flutter的结束。那我们来整体比较一下flutter和jetpack compose,看看他们各自有什么特点。

2022-11-21 14:24:09 139

原创 Android 线程池:类型、区别及使用场景

每个 Android 应用进程在创建时,会同时创建一个线程,我们称之为主线程,负责更新 UI 界面以及和处理用户之间的交互,因此,在 Android 中,我们又称之为 UI 线程。一个进程中 UI 线程只有一个,为了不造成界面卡顿、提高用户体验,我们势必要将一些耗时操作交由子线程来执行。使用子线程的方式主要分两种:直接使用 Thread和 Runnable等创建子并使用线程使用线程池创建并使用子线程。

2022-11-17 18:02:19 90

原创 Android进阶全套资料已上线,带你直面“裁员”这一敏感话题

很多前人的经历告诉我们,刚刚毕业几个月就赶上了裁员大礼包的事情也会发生,还没干多久,甚至业务都不熟,就被打上能力不行的标签而辞退的人也比比皆是。在2022 年的今天,被裁员并不是新鲜事。?你会怎么回答呢?很多人可能会含糊其辞,说很多的客观原因,比如公司与自己的职业规划不匹配,公司的企业文化不太认同,团队氛围不太好……也有很多人宁愿让自己毕业后的一段时间空缺,也不会把短期的工作经历写上简历。不过,不管是哪种做法,都需要想好怎么回答。明确这是个人能力有问题,还是公司业务规划有问题呢?

2022-11-15 16:13:45 17

原创 Android门槛并不低,为什么跨行Android的人面试表现这么亮眼?

前不久,我有个机械专业转Android开发的朋友分享了他的秋招经历。Android门槛这么低吗?其实不然。他在大三下学期开始对计算机这块比较感兴趣,就自学了一段时间,实习是学校组织的专业实习,所以他就自己捣鼓应用程序开发,然后将自己的学习笔记在博客分享,这些在面试时也确实用上了。他说,面试Android开发时问的题目都不怎么难,因为自己平时都准备到了,八股根本难不倒他,说完还把他整理的Android手册给我看,确实非常细致、非常系统,我这学软件开发的人都自愧不如。

2022-11-10 21:55:50 22

原创 跨平台之争,flutter能走多远?学起来又要多久?

就目前来看,Flutter技术本身就比其它的跨平台技术要好,Flutter是一种跨平台 UI架构,可以实现快速渲染和更有表现力的设计,提高了flutter开发的上限。Flutter包括了滚动、导航、图标、字体等等,在Android上甚至可以达到类似原生的效果。

2022-11-08 22:10:25 42

原创 flutter与Android混合开发全攻略,flutter真的很重要

在新开发一个应用程序时,我们可以充分使用 Flutter进行开发,实现效果最大化。但是,对于一个已经成熟的应用程序来说,用 Flutter来重新编写所有程序不是那么现实。不过flutter开发者考虑到了这一点,Flutter能够很好地将其整合到一个已有的应用程序中,也就是所谓的混合开发模式。大家可以先思考一下flutter和Android原生之间的关系。想好了吗?

2022-11-07 21:39:51 517

原创 Android基于MQTT来实现消息通知

在对接项目中IoT时,发现目前有对MQTT做了接入,这里主要从实现细节出发;对具体的需求以及配套的技术方案进行整理,以供参考。MQTT是用于物联网的最常用的消息传递协议(IoT)。MQTT代表MQ遥测运输。该协议是一组规则,它定义了IoT设备如何通过Internet发布和订阅数据。用于IoT和工业IoT(IIT)设备(例如嵌入式设备,传感器,工业PLC等)之间的消息传递和数据交换。协议是事件驱动的,并使用发布/订阅(PUB / SUB)模式连接设备。发布者和接收器(订阅者)通过主题通信,并彼此分离。

2022-11-03 22:06:59 76

原创 监听Activity生命周期方式及相关案例

本篇文章主要讲解如何快速实现Activity生命周期监听,以及其在官方lifecycle、第三方库Glide、PermissionX中的应用。

2022-11-02 22:24:54 56

原创 常用的 Android 开源库整理

在Android的开发过程中,每个开发者或多或少的都使用过第三方的开源库,使用第三方的开源库可以给开发者节省大量的精力和时间,进而更好的关注应用本身的业务逻辑。下面列出一些开发者们非常常用的开源库。Fresco是非常强大的显示图像的开源库,它能够很好的处理图像的加载和显示。能够加载网络、本地数据库、本地资源中的图像,在图像加载出来之前,还能够预先设置一个预设的图像占位符,有二级缓存(内存和硬盘缓存)另外Fresco还提供了一些其他的开源库支持 Gif,WebP等。

2022-10-31 23:24:28 79

原创 Android程序员在面试时应该具备怎样的比较观呢?

从小父母就拿我们和别人进行对比,长大了我们也在不自觉的和别人对比。有人认为,自己已经很努力了,为什么父母口中永远是别人,从来不会关心我的情绪呢,那只会让我更自卑。也有人认为,人的快乐和成就感通常是通过对比产生的,如果没有对比,也就失去了前进的重要动力。具体而言,谈论这种对比是否有意义还要放到特定的情境中去看待。1、今年的互联网行业寒冬已至,不少毕业生都在吐槽今年的行情,互联网大厂offor锐减,进入大厂的难度骤升,薪资和福利待遇也有所下降,对他们来说太不公平。这是基于以往的情况展开的对比。

2022-10-31 00:24:54 23

原创 Android中APK安装过程

你能从这篇文章中得到什么?本文介绍android如何处理应用程序安装过程。具体包括:安装应用程序的方法有哪些?android如何处理安装过程?如何默认应用程序PackageInstaller表演它的魔力?流程如何从一个活动流向另一个活动?这个过程涉及到哪些不同的组件?安装APK的不同方法。安装Android应用程序有几种方法。

2022-10-27 20:13:47 934

原创 在某著名外企面试Android的我到底学到了什么?(内含Android社招面经和最新面试题)

作为一名Android开发,在各种初创公司工作了几年后,我觉得是时候开始去大公司探索机会了。当前国内大厂人人都想挤进去,在我综合考量之下,我选择了投外企,幸运的是,没过多长时间我就接到了某著名外企面试官的电话,先是问我有没有时间,需要进行一轮电话筛选面试,我说还要整理一下,就要求往后推了十分钟。很快就进行了第一轮面试,是通过网上会议的形式进行的,面试官是会中文的,但要求我用英文来进行自我介绍,由于英语实在不算精通,没有过多深入项目来讲,然后。

2022-10-26 20:46:15 29

原创 最新Android面试题帮你把握Android未来新发展

近几年来很多人不太看好Android未来的发展,至于原因嘛,第一,越来越多的桌面系统和工具出现,对Android的依赖性有所减少,第二,Android开发市场的人才需求趋于饱和,大家纷纷转向大热门的前后端方向。但我们应该看到了是,Android在应用程序开发上一直在发展,为了更好地适应这一发展变化,我们需要把握好Android的发展趋势,并作出相应的学习,不断提高自己的能力水平。这里我们仅考虑Android在移动应用开发上的新发展:1、快应用、小程序的出现。

2022-10-26 15:41:29 51

原创 顺利拿下android面试的人到底具备什么样的品质呢?

相信大家都想知道,Android面试官到底是通过什么问题来参考个人技术水平的呢?其实整个过程都是在对你进行考察。选人标准是可量化的,但也会受到个人技术以外的其他能力影响,不妨我们先想想,顺利拿下offer的人到底具备什么样的品质呢?面试是一个双向选择的过程,大部分人肯定不止面过一家,也肯定犯过错误或者存在知识漏洞,这个时候就需要不断去总结完善,形成自己的方法论,这也涉及到我上面提到的解决问题的能力。好了,对于“Android面试官是通过什么问题来考察你的技术水平呢?

2022-10-24 21:32:27 27

原创 Android面试全过程优化,最新面试题帮你拿下OC

面试一定要做好充分的准备,以下我从面试前、面试中、面试后来跟大家具体谈一谈

2022-10-24 09:49:02 45

原创 跨平台开发之辩,flutter进阶学习的理由太硬核(内附flutter学习笔记)

我在和Android同行人员交流Flutter时,他们通常会问我为什么不用React Native或其他一些SDK呢?其实理由很简单,Flutter是值得大家去学习的,这个时候的解释也是有必要的。因为我们总是在学习了一门工具之后就很难再花时间去学其他的了,先入为主的观念会让我们很难放弃“老办法”,只是不断地找补和适应。那Flutter到底有什么优势呢?1、Dart有一个干净而强大的语法,它。

2022-10-18 17:59:43 120

原创 【Android开发必看】系统掌握Android性能优化的机会终于等到了

想成为一名专业的Android开发,不是临门一脚背八股,也不是混迹天涯打下手,性能优化是每个Android开发者都要考虑的一件事。由于各大手机厂商对Android原生系统进行定制化修改,导致应用开发的适配工作越来越难,应用出现bug问题可以通过查找日志找到问题的根源,但是性能问题却是一个系统化的工程。Android性能问题有很多,包括内存优化、启动优化、耗电优化、apk大小优化等,同时一个应用的开发还会与虚拟机、网络等方面息息相关,一旦出现性能问题,需要排查的地方就更多,思路更加复杂,这就。

2022-10-17 17:21:26 52

空空如也

空空如也

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

TA关注的人

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