自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

夏夏的博客

BUG尚未修复,同志仍需努力

  • 博客(18)
  • 收藏
  • 关注

转载 OkHttp使用详解

今天学习了一下OkHttp,在这里做个总结,希望可以帮助到有需要的人,好了,废话不多说,进入正题。一、OkHttp介绍OkHttp是一个优秀的网络请求框架,可能一说到网络请求框架,可能很多人都会想到volley,volley是一个Google提供的网络请求框架,我的博客里也有一篇专门介绍volley的博客,博客地址在此**Android网络请求 ------ Volley的使用** 那么既然Google提供了网络请求的框架,我们为什么还要使用OkHttp呢,原来是volley是要依靠HttpCie.

2021-12-03 15:02:02 8

转载 深入探索 Android 内存优化(炼狱级别-下)

前言本篇是 Android 内存优化的进阶篇,难度可以说达到了炼狱级别,建议对内存优化不是非常熟悉的仔细看看前篇文章: Android性能优化之内存优化,其中详细分析了以下几大模块:1)、Android的内存管理机制2)、优化内存的意义3)、避免内存泄漏4)、优化内存空间5)、图片管理模块的设计与实现如果你对以上基础内容都比较了解了,那么我们便开始 Android 内存优化的探索之旅吧。本篇文章非常长,建议收藏后慢慢享用~目录一、重识内存优化1、手机RAM2、内存优化的

2021-12-02 15:00:25 40

转载 一篇文章告诉你framework是什么意思

前言对于Android开发,干上几年后,都要进阶,或者直接转行了。如果你还在干Android,想要进阶 对Framework的了解是必不可少的过程,下面就开始进入今天的主题吧。我们知道,对于任何程序语言而言,入口一般都是main函数。那Android的程序入口在哪呢? 他的main函数是怎么启动起来的呢?可能熟悉Android的同学,知道一个应用程序的入口在ActivityThread中,那有个问题,ActivityThread中的main函数是何时被谁被调用的呢?将从本文中找到以上答案,如果已经

2021-11-30 10:21:14 44

原创 (史上最全面试宝典)裸辞4个月,面试了30家公司,最终收到腾讯的offer...

前言从春天辞职到立秋后决定入职某家工作,夏天悄悄溜走了,真的是恍如隔世。作为一个女生,连夏天的裙子都没有好好穿。辞职的日子,一个月就像一个周那么快,而且特别不期待周末,因为那是不可以面试的日子。待业的日子,我并没有疯狂的玩耍,我把这些时间用来了思考职业方向、不断求职、不断读书学习、不断复盘自己。事实证明,我是对的。人总需要有一段时间需要沉淀,那是一段被别人怀疑的日子,一段自己有些焦躁的日子,但慢慢的,你会发现变得和以前不一样了,更加强大了。工作5年,换了好几份工作,每次工作都是裸辞。朋友都觉得不可思议

2021-11-29 18:45:13 680

原创 2021最新Android高级面试题合集

前言由于杭州的房价实在太高,所以我可耻的跑路到西安。几个月前在西安买了房,所以最近总结了一些还算全面的 Android面试题。还好成功的通过了西安努比亚的面试,虽然不是阿里、网易这种级别的公司,但对我一个毕业两年的 Android 开发来说,算是成功的从小公司跳到大公司。面试面试对于程序员来说是很重要的事情,面试结果的好坏直接决定了能否进入某个公司以及以什么级别和待遇。这篇文章主要针对Android开发者的面试,以下是安卓大牛整理出来的一些安卓的面试题。Java基础知识点Jvm相关Java

2021-11-26 18:02:21 734

转载 深入探索 Android 内存优化(炼狱级别-上)

前言成为一名优秀的Android开发,需要一份完备的知识体系,在这里,让我们一起成长为自己所想的那样~。本篇是 Android 内存优化的进阶篇,难度可以说达到了炼狱级别,建议对内存优化不是非常熟悉的仔细看看前篇文章: Android性能优化之内存优化,其中详细分析了以下几大模块:1)、Android的内存管理机制2)、优化内存的意义3)、避免内存泄漏4)、优化内存空间5)、图片管理模块的设计与实现如果你对以上基础内容都比较了解了,那么我们便开始 Android 内存优化的探索

2021-11-24 11:43:09 22

原创 BAT高级架构师合力熬夜15天,肝出了这份PDF版《Android百大框架源码解析》,还不快快码住。。。

前言为什么要阅读源码?现在中高级Android岗位面试中,对于各种框架的源码都会刨根问底,从而来判断应试者的业务能力边际所在。但是很多开发者习惯直接搬运,对各种框架的源码都没有过深入研究,在面试时被一顿重锤。从实际的工作场景来看,开发者更是要根据业务实际需求对框架进行灵活使用,这样才能确保项目最终能够达到一个理想的状态。真正最能锻炼能力的便是直接去阅读源码,不仅限于阅读Andoid系统源码,也包括阅读各种优秀的开源库。如何阅读源码?这个问题也是我平时被问得比较多的,因为很多人都觉得阅读源码是一件

2021-11-23 16:20:25 929 10

转载 使用Kotlin语言两年后,我有话要说

Kotlin为什么可以编写Android程序?因为使用Java语言编写的代码最终需要编译成.class文件才能执行,而使用Kotlin编写的代码最终也会编译成.class文件。对于Android操作系统而言,它无须关心也无法关心程序是用什么语言开发的,只要最终执行的是一些合法的.class文件即可。我们为什么要使用Kotlin开发Android程序?1、每行代码行尾毫无意义的分号。2、switch语句只支持int条件(java1.8版本后也支持String了),且case最后要加break。3、.

2021-11-23 11:05:47 25

原创 985毕业的“打工人”,Android开发2年被裁,重新出发终于拿下字节offer

个人自我介绍鄙人出生于南方小乡镇,为了走出小镇,在当地够拼够努力,不是自夸,确确实实也算得上“别人家的小孩”,至少在学习这件事情少,没有要家里人操过心。高考特别顺利,一个老牌985,具体哪个学校就不说了,不想给母校丢脸。毕业后,也算是“风光”地进入了理想公司,不说是龙头,但在当时不算差吧,那个时候算是一线。拿到offer那一刻是激动的,但没想到我人生的转折点也从此刻开始。进入这家互联网公司后后,工作顺利,但也正因为太顺利,由顺利变成了安逸,基本上没想太多事,正因如此,也没有为自己的后来考虑,脑海里的职

2021-11-22 16:37:18 678

原创 Android高级进阶之路【一】Android中View绘制流程浅析

前言一个View,从无到有会走三个流程,也就是老生常谈的measure,layout,draw三流程;我们都知道Android视图是由一层一层构成的层级结构,直白点说,就是父View包含子View而子View又可以包含子View。所以绘制流程是由最外层的View开始,一步一步向内传递执行。而整个过程又是递归等待的,最外层的View需要等内层所有的View执行完绘制流程才结束,所以便有了”减少布局层级,可以有效提升App性能”这一经典总结。正文什么时候开始绘制?而万物有始才有终,你不惹他,他也不会动

2021-11-07 16:21:31 153

转载 一篇文章带你了解——Kotlin协程

前言本文的定位是协程的稍微深入的全面知识,也会示例一些简单的使用,这里不对suspend讲解,,也不对协程的高级用法做阐述(热数据通道Channel、冷数据流Flow...),本文主要讲协程稍微深入的全面知识。Kotlin Coroutine 简介Kotlin中的协程提供了一种全新处理并发的方式,您可以在Android平台上使用它来简化异步执行的代码。协程是从Kotlin 1.3版本开始引入,但这一概念在编程世界诞生的黎明之际就有了,最早使用协程的编程语言可以追溯到1967年...

2021-10-29 16:55:53 46

转载 学Android必看的Framework内核解析

前言对于Android开发,干上几年后,都要进阶,或者直接转行了。如果你还在干Android,想要进阶 对Framework的了解是必不可少的过程,下面就开始进入今天的主题吧。我们知道,对于任何程序语言而言,入口一般都是main函数。那Android的程序入口在哪呢? 他的main函数是怎么启动起来的呢?可能熟悉Android的同学,知道一个应用程序的入口在ActivityThread中,那有个问题,ActivityThread中的main函数是何时被谁被调用的呢?将从本文中找到以上答案

2021-10-28 16:24:02 241

转载 灵魂画师,Android绘制流程——Android高级UI

一、前言绘制流程可以说是Android进阶中必不可少的一个内容,也是面试中被问得最多的问题之一。这方面优秀的文章也已经是非常之多,但是小盆友今天还是要以自己的姿态来炒一炒这冷饭,或许就是蛋炒饭了????。话不多说,老规矩先上实战图,然后开始分享。标签布局二、我们的目标是啥其实这篇文章,小盆友纠结了挺久,因为绘制流程涉及的东西非常之多,并非一篇文章可以写完,所以这篇文章我先要确定一些目标,防止因为追查源码过深,而迷失于源码中,最后导致一无所获。我们的目标是:绘制流程从何而起 Ac

2021-10-26 16:42:55 201

转载 Java并发编程基础

编写优质的并发代码是一件难度极高的事情。Java语言从第一版本开始内置了对多线程的支持,这一点在当年是非常了不起的,但是当我们对并发编程有了更深刻的认识和更多的实践后,实现并发编程就有了更多的方案和更好的选择。本文是对并发编程的一点总结和思考,同时也分享了Java 5以后的版本中如何编写并发代码的一点点经验。为什么需要并发并发其实是一种解耦合的策略,它帮助我们把做什么(目标)和什么时候做(时机)分开。这样做可以明显改进应用程序的吞吐量(获得更多的CPU调度时间)和结构(程序有多个部分在协同工作)..

2021-10-25 14:03:58 325

转载 2021年面试【腾讯+阿里+华为】必问的Android性能优化解读

对于Android开发者来说,懂得基本的应用开发技能往往是不够,因为不管是工作还是面试,都需要开发者懂得大量的性能优化,这对提升应用的体验是非常重要的。对于Android开发来说,性能优化主要围绕如下方面展开:启动优化、渲染优化、内存优化、网络优化、卡顿检测与优化、耗电优化、安装包体积优化、安全问题等。1,启动优化一个应用的启动快慢是能够直接影响用户的使用体验的,如果启动较慢可能会导致用户卸载放弃该应用程序。1.1 冷启动、热启动和温启动的优化1.1.1 概念对于Android应用程序来

2021-10-09 20:07:05 35

转载 【Android MVIKotlin技术】跨端的 MVI 框架原理分析

Android 开发的架构模式最流行的莫过于 Jetpack 架构组件提供的强大易用的 MVVM 实现。去年公司要重构一块老旧的重要业务,原先的 Java + 无架构实现被我们全面切换到 Kotlin + Coroutines + Jetpack AAC。总体效果令我们颇为满意,也没有发现什么明显的缺陷与短板。Jetpack AAC 虽然很赞,但它不能用于 KMM,于是我们在开源社区找到了一个“替代品”——MVIKotlin。MVIKotlin 是一款实现 MVI 模式的框架,它不仅能用于 KMM,

2021-09-30 15:40:57 73

转载 基于Android的音乐播放器的设计与实现

本文基于Android音频API提供的四个层面的音频API,说说Android系统的音频架构。目录1. 各层音频模块1.1 Java层1.2 JNI层1.3 Native framework 原生框架层1.4 Binder IPC1.5 Audio Server1.6 HAL层1.7 内核驱动层2. 音频系统架构的演进2.1 Lib层2.2 HAL层3. Linux平台下的两种主要的音频驱动架构介绍3.1 OSS (Open Sound System)

2021-09-26 15:24:12 44

转载 Android锁屏黑屏后连续定位问题解决方案

# LocationServiceDemo该示例主要展示App切换到后台熄灭屏幕后如何持续获得设备位置。## 前述* [高德官网申请Key](https://link.juejin.cn?target=http%3A%2F%2Flbs.amap.com%2Fdev%2F%23%2F "http://lbs.amap.com/dev/#/").* 阅读[参考手册](https://link.juejin.cn?target=http%3A%2F%2Fa.amap.com%2Flbs%2F..

2021-09-23 15:07:07 142

空空如也

空空如也

空空如也

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

TA关注的人 TA的粉丝

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