自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

阿Ciu

All experience comes from mistakes.

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

原创 JetPack Compose - 反射修改ScrollableTabRow 最小宽度

JetPack Compose - 反射修改ScrollableTabRow 最小宽度

2022-08-31 11:26:53 566 1

原创 [剑指offer]我的算法刷题之路

这段时间比较空闲,希望能够把《剑指offer》上面的题目过一遍,同时通过本文记录自己的刷题过程与遇到的问题。刷题的语言采用Java,题目顺序按照以下tag分类进行:目录[查找]:1.二维数组的查找21.旋转数组的最小数字52.数字在升序数组中出现的次数[查找]:1.二维数组的查找在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。

2020-09-20 15:34:01 166

原创 Android源码探究:深入理解ANR

对于Android开发人员来说,ANR是一个既熟悉又陌生的问题。之所以说熟悉,因为基本每个开发人员都能说出关于ANR的一些概念,但也只是处于似是而非,懵懵懂懂的阶段。而为什么说陌生,则是因为随着Android系统的不断发展,除了主动去尝试不合理的代码,一般工作中很少机会能碰到ANR问题。但即便如此,我们也要试着去研究分析这个影响用户体验的东西。那我们先从大家都能脱口而出的几点入手:什么是ANR?ANR是Application Not Responding,用中文解释就是应用程序在一段时间内无响应。为什么

2020-09-02 23:01:09 195

原创 Android社招面试题整理

Android:activity,fragment生命周期启动模式:appA启动appB栈的变化RecyclerView与ListView的原理,观察者模式,复用描述一下Handler的原理一个线程可否有多个Handler,怎么保证只有一个Looper由此问题衍生出Threadlocal,面试官问Threadlocal如何保证只有一个对象,这里我答的不是很好,Threadlocal其实在Android的looper里是判断了只有一个的逻辑,但真正的使用并不是这个特性应该是.

2020-08-22 01:27:59 418

原创 Android开发必须懂的Java知识

系列文章:Android开发必须懂的网络知识未完待续...

2020-08-22 01:21:46 202

原创 Android开发必须懂的网络知识

1.五层协议的体系结构,每层有哪些协议?思路:分别解释+拓展补充Http和Https的区别

2020-08-09 23:53:02 248

原创 RecyclerView的卡顿分析与解决方案

RecyclerView是Android开发中常见的组件之一,也是官方推荐的ListView的替代品。然而在实际使用中我遇到了RecyclerView卡顿的问题,在这里记录一下。也综合总结网上其他可能发生卡顿的情况和解决方案。通过归类分析,RecyclerView出现卡顿的问题可以分为以下两大类情况:1.在UI线程进行网络任务或者其他耗时操作2.图片数据过多或者过大1的解决方法:将耗时任务异步处理,addData部分放在UI线程中。2数据过多的解决方法:后端控制...

2020-07-22 23:41:47 4960

原创 [Android]自定义View学习(一):写一个TextView

一.基础知识:在进入自定义View的学习前,先了解相关的知识点才能更好帮助我们去理解和掌握。自定义View可以通过不同的实现方法进行分类,有继承View的,也有继承ViewGroup的。常见控件如:Textview也属于自定义View的范畴,在后面我们会去动手实现一个TextView。开始学习前,我们先从继承View的实现方法入手,View的绘制流程包括了以下三部分:onMeasure:测量。包括三种模式:unSpecified,exactly,at_most。具体不同在后面再详细分析onD

2020-06-28 23:40:06 379

原创 别再说你不知道HashMap啦

提起HashMap,开发界可谓无人不知,无人不晓。但是在面试中,HashMap相关的问题往往却是开发人员最熟悉的陌生人。应该拿什么拯救你,我的HashMap?别慌,接下来由我给你全面深入HashMap的原理,最后再附送常见面试题总结小彩蛋,方面大家检测自己的理解水平。(由于目前主流的JDK版本都是JDK1.8,因此本文也是在JDK1.8的基础上进行源码分析。)首先我要告诉你们,想要掌握HashMap,只需掌握以下几个方面的知识点:HashMap的实现,PUT方法,GET方法,扩容即可,是不.

2020-05-31 23:41:45 180

原创 [数据结构]数组、字符串、链表,栈,队列,树

数组、字符串:字符串通常转化为字符数组再操作。优点:构建简单,能在O(1)的时间内根据数组下标(index)查询某个元素缺点:构建时必须分配一段连续空间。查询某元素是否存在时需要遍历整个数组,耗费O(n)的时间(n为元素个数)添加/删除某个元素时同样耗费O(n)的时间。链表:单链表:链表中每个元素实际上是一个单独对象,所有对象通过每个元素中的引用字段...

2020-04-07 23:07:15 284

原创 [JVM]我的JVM学习笔记

JVM的内存结构:分为五个结构:1.程序计数器:当前线程所执行的字节码的行号指示器。各线程计数器相互独立,称为“线程私有”的内存区域。2.Java虚拟机栈:用于描述Java方法的内存模型。每个方法执行时都会创建一个栈帧用于存储信息,包括局部变量表,操作数栈,动态链接,方法出口。每个方法从调用到执行完成的过程就对应着一个栈帧在虚拟机中从入栈到住栈的过程。(StackOverflo...

2020-04-06 23:32:06 155

原创 [Android]实现渐变色背景button的仿MaterialDesign风格水波纹效果

最近在公司的Android项目中需要用到Material Design设计规范,由于其中Material Button的原生属性中仅提供纯色背景设置,当设置了自定义背景时则失去水波纹的点击效果。想要实现自定义背景(如渐变色)的点击波纹效果。下面提供一个比较好的解决方案:...

2020-03-25 22:24:16 834

原创 [Android笔记]Bitmap的加载与Cache

在Android中经常需要用到Bitmap的加载。由于Bitmap存在特殊性加上Android系统对单个应用的内存限制,往往会导致加载Bitmap时出现内存溢出。因此,高效加载Bitmap是Android开发中无法避免的话题。首先说明,在Bitmap的加载中,我们只需要掌握图片加载,缓存策略以及滑动流畅性的处理即可以掌握Bitmap的加载。缓存策略:我们首先要弄明白,在手机中加载一张图...

2020-03-17 07:41:21 161

原创 [Android踩坑]LinearLayout与ImageView的点击事件冲突

在最近的项目中用到了LinearLayout中嵌套一个ImageView的布局,但是点击事件设置在LinearLayout中却无响应,综合网上的教程总结一下几种可能导致的情况:1.如果在ImageView中和LinearLayout同时设置点击事件,会发现触发的是ImageView的点击事件,说明点击事件被子控件ImageView消耗了。这涉及到事件分发的机制,简述下解决方案:在XM...

2020-01-06 21:51:56 2260

原创 Android学习:Service自问自答

什么是Service:Service是一种可以长时间运行在后台而不需要UI界面的应用组件。当应用切换到后台或者用户打开另外一个应用,甚至应用组件被销毁(Activity关闭),Service都能保持运行。但当进程被杀的时候,所有依赖于该进程的Service都会停止运行。为什么要用Service:Service也被称为后台服务,因此Service的适用场景包括:后台运行和跨进程访问。谈一谈S...

2019-12-27 07:47:31 98

原创 Android开发艺术探索之View篇总结

本文内容来自《Android开发艺术探索》第三章,个人学习提炼总结,欢迎指正。View的基础概念View与ViewGroup是相对概念,每个子View既可以是View也可以是ViewGroup。在树状层级关系的顶端存在ViewParent,统一调度和分配交互管理事件。View的位置参数Android中,X与Y轴的正方向分别是右和下。由四个顶点的差值决定了View的宽与高...

2019-11-19 23:56:24 80

原创 [Android]手把手教你使用和风天气SDK获取实时天气 Json数据处理

前言最近有需要做一个获取天气的功能,比较之下选择了较为方便的和风天气。但是最新的和风天气接口的返回数据的格式发生变化,所以网上很多教程都不再适用。而一些比较新的教程对于接口中的属性的使用也没有详细的说明,于是打算自己写一个,也算方便后来人。本文适合2019最新和风天气的接口获取与返回Json格式的处理。以下内容为真机调试,在虚拟机上获取位置会报错。效果图正文首先...

2019-10-24 12:07:56 5881 23

原创 RecyclerView 设置item之间的间距

项目需求给recyclerview添加item的间距,需要新增一个辅助类SpacesItemDecoration 。代码如下:public class SpacesItemDecoration extends RecyclerView.ItemDecoration { private int space; public SpacesItemDecoration(int ...

2019-09-17 10:49:49 3404 3

原创 [Android踩坑]解决百度定位无法自动定位的问题

公司的项目中用到了百度地图定位,但是在测试机上无法实现自动定位,但诡异的是日志中并没有关于定位的报错,经过断点调试后发现是registerLocationListener没有回调。然鹅隔壁的小伙伴的测试机能够自动定位,我的手机却不能,由此可以判断并不是项目代码本身的问题。所以打算将锅甩给手机,看看是否手机的定位功能出现问题。然鹅通过测试机上的饿了么和美团等程序的成功定位也可以判断出不是手机的...

2019-09-10 09:53:32 1137

原创 Android开发艺术探索之Activity篇总结

本文内容来自《Android开发艺术探索》第一章,个人学习提炼总结,欢迎指正。1.1典型情况下的生命周期onCreate():表示Activity正在被创建,初始化布局资源+Activity所需要数据等。 onStart():表示Activity正在启动,Activity已经可见,但是未出现在前台(正在显示),不可与用户交互。 onResume():表示Activity获得焦点,...

2019-08-26 01:11:01 1330

原创 理解设计模式:单例模式(Singleton)

什么是设计模式:一套被反复使用,被多数人知晓的,经过分类编目的代码设计经验的总结。目的:提高代码的可重用性,让代码更容易被他人理解,保证代码的可靠性。在JAVA设计模式中,单例模式算是比较基础的一种单例模式的适用场景:有些对象只需要一个,如:配置文件,工具类,线程池,缓存,日志对象等。通过单例模式,自行实例化并向这个系统提供这个单一实例的访问方法。如果创造出多个实例,就会导致许多问题,比如...

2019-04-05 16:56:55 106

原创 JVM垃圾回收机制学习总结

本文来源于《JAVA深入理解虚拟机》一书中关于垃圾回收机制和网上关于垃圾回收机制的优秀博客的学习总结。垃圾回收机制的作用:回收无用对象的内存空间,释放内存空间。常说的垃圾回收主要集中在堆和方法区,这部分内存是随着程序运行动态分配的。C与JAVA的对比:c的垃圾回收是人工的,工作量大,但是可控性高。java是自动化的,但是可控性很差,甚至有时会出现内存溢出的情况(内存溢出也就是jvm分配的...

2019-04-03 23:53:21 97

原创 JAVA基础编程练习题--50道(1-10)

题目来源:https://blog.csdn.net/qiucaijuan/article/details/6650925记录做的题目,附上自己的思路。题目1:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子对数为多少?直观上并没有很明显的规律,先列举出前几个月的月份和兔子数看看观察可知兔子数的规律为1...

2018-08-09 00:40:31 430

空空如也

空空如也

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

TA关注的人

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