- 博客(11)
- 收藏
- 关注
原创 msck
面试踩坑。17年a实习电面已经记不清很多了,印象很深的是,接电话前以为自己还行,结果发现什么都不会,连第一个问题,Java访问修饰符有哪些,解释一下,都没答上来。真的懵逼了。后面就更不多说了,战斗力0.17年t实习电面还是菜的抠脚,印象不深了,只记得最后问了个1000*1000的屏幕,要10s一个一个随机填满,怎么弄。战斗力0.17年m实习视面紧张,以为学到了一些,但实际才刚刚开始入坑...
2019-10-16 21:41:55
383
原创 【安卓开发艺术探索】第4章 RelativeLayout和LinearLayout效率对比和分析
这篇博文作为对第4章的扩充,将关注重点放在了LinearLayout和RelativeLayout的效率对比上。首先来看我的一系列测试:测试一:10个简单View元素LinearLayout和RelativeLayout各包含10各简单的View元素,呈竖直排列。测试结果会令你惊讶://单位是nsLinearLayout:185937 176770 RelatvieLa
2017-05-09 10:05:03
480
原创 【安卓开发艺术探索】第3章 触摸事件传递 笔记
为了更有条理,我将分两个方面介绍触摸事件的传递:触摸事件的传递机制和事件传递的总入口。触摸事件传递机制View中:我们先看View,View里有个dispatchTouchEvent方法,顾名思义,这里将是一般意义上的第一个接收到事件的方法,简单而言这个方法会按顺序调用onTouchListener.onTouch,如果此方法成功消化了事件,就不再继续,否则继续调用onTouchEvent,这个方法
2017-05-04 15:57:46
338
原创 【安卓开发艺术探索】第4章 View的测量、布局、绘制 笔记
任何的View想要显示到屏幕上,都要经过3个流程:measure 测量宽和高layout 确定左、上、右、底的位置。draw 绘制而这一章将总结这3个环节的机制,从而可以真正自如地去定义一个自己的View或ViewGroup。View的测量、布局、绘制原理机制这一系列的过程首先是从ViewRootImpl的一个方法performTraversals开始进行的,这个方法代码比较多,简单说会
2017-05-03 20:39:16
390
原创 【排序算法】堆排序
之前面试有被问到堆排序的特点,但几乎忘了很多,之后看了一些网上关于堆排序的博文,留意看了评论部分,发现各种博文里的代码最后都有一些Bug。于是自己实现了一波,现在以一种更简洁易懂的语言告诉你它的工作原理。堆排序基础知识父节点比子节点都大的叫大顶堆,比子节点都小的叫小顶堆。如图是个大顶堆: 虽然说是堆排序,而且要把它理解为完全二叉树,但你千万别直接就这样告诉给面试官,因为它是从一维数组映射出来的
2017-04-25 20:12:09
272
原创 【深入理解JVM】第10~13章 编译期优化、线程安全、锁优化 笔记
打算把这4章整理到一篇博文中来讲,因为这几章内容都比较偏理论和底层,每章内容也不算很多,一般开发者接触也十分有限,这里主要挑那些比较有意义的来讲讲。第10章1、语法糖所谓语法糖其实就是语言提供了一些小技巧来帮助开发者更快地编写代码,而这些技巧不会提供太多实质上的改进,而且如果过度依赖,会容易看不清其真正的面目。这里讲几个Java中常见的语法糖。1、泛型与类型擦除。Java的泛型是依靠擦除来实现的,这
2017-04-24 22:32:20
246
原创 【深入理解JVM】第2章 JVM内存分布与溢出 笔记
这一章主要在讲JVM中关于内存如何分配的知识,对于JVM的初步认识还是很有意义的。在网上也很容易搜到这章的知识,而且大家也都讲得很详细没有什么出入。自己再整理一遍算是为了给自己加深下印象吧。运行时数据区域 不是很容易找到这个图,其中上面的大块蓝色部分(涵盖了5个子部分)的区域就是运行时数据区域,说白了就是这些区域有各自的创建和销毁时间,有的随着虚拟机进程启动而存在,有的随着用户线程结束而销毁。
2017-04-19 15:28:26
239
原创 【安卓开发艺术探索】第2章 进程线程通信与同步 笔记
这一章本来是讲安卓跨进程通信的,也就是IPC。但由于实在是纠结于进程和线程在同步和通信上的异同,就索性查了一大波资料,结合自己的认识,把这一篇扩充成了进程的通信和同步,以及线程的通信和同步。希望以此告别纠结之旅。线程同步方式我查阅了很多网上的资料,但其实发觉很多的博文上可能局限于当时的版本原因,还有一些同步的方式并没能列举,下面我将列举所有的线程同步方式,如有不足请指出。1、synchronized
2017-04-17 18:14:01
403
原创 【安卓开发艺术探索】第10章 消息机制Handler 笔记
这一章主要讲Handler、Looper、MessageQueue这几者之间工作的机制,其实对于上层开发者,Handler用起来容易,但其背后的机制、尤其是Looper的机制却比较复杂,对某些部分,我暂时只能从一定程度上理解。ThreadLocal对于每一个线程,需要独立拥有一个Looper来进行消息管理。这个时候就需要派上ThreadLocal了。 ThreadLocal适合去维护一些以线程为作
2017-04-16 15:33:43
476
原创 【安卓开发艺术探索】第15章 性能优化、内存泄漏 笔记
摘要这一章列举了一些常见的优化方向:布局优化(在不增加嵌套的前提下用效率更高的ViewGroup,如LinearLayout,FrameLayout)绘制优化(避免创建对象,避免耗时)内存泄漏优化(重点,后面阐述)响应速度优化(ANR)ListView和Bitmap优化(convertView+ViewHolder+滑动时不进行加载的策略,BitmapFactor.Optiond的inSa
2017-04-15 22:38:00
280
原创 【安卓开发艺术探索】第11章 线程线程池 笔记
写在前面之前参加过的一些面试中,或多或少有问到类似如下的问题:android中如何创建线程?android有哪些执行耗时任务的方法?android中有哪些异步的方式?以上的这些问题,实质上其实都是关于线程和线程池的问题,当然还要回答一些比如Async Task和Intent Service的东西。但是当问到第一点时,千万别以为面试官只是单纯地想听你说“继承于Thread来写自己的子类”“用n
2017-04-15 13:16:52
411
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人