自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(51)
  • 资源 (4)
  • 收藏
  • 关注

原创 鹅厂实习| 周记(四)

以下是本周的知识清单:

2019-03-18 14:23:52 468 4

原创 要点提炼| Gradle指南

在使用Android Studio过程中没少被Gradle坑过,虽然网上有很多简单粗暴的解决方案,但极少会说清楚缘由,所以一直想看一本叫《Android Gradle权威指南》~不过由于书中实践内容很多,更像一本工具书,而且Gradle现已发行了好几版,因此本篇仅仅是陈列出一些大的要点,尤其是那些熟悉又陌生的名词,如果想要具体了解细节和操作流程,一定要跟着书探索哟~...

2019-02-28 17:12:54 341

原创 鹅厂实习| 周记(三)

以下是本周的知识清单:

2019-02-23 19:25:44 398

原创 BUG汇总 2

1. 解决ListView/GridView显示图片错乱的问题:给Imageview添加tag属性,值为目标图片的URL,显示时判断URL是否匹配。http://blog.csdn.net/lamp_zy/article/details/50094457 http://blog.csdn.net/JH_Manny/article/details/519187352. Android

2019-02-20 11:21:19 213

原创 鹅厂实习| 周记(二)

以下是本周的知识清单:SparseArrayatomic包Android埋点Java基础之注解一点小感悟1.SparseArray当新建一个key为整型的HashMap时,会出现如下的提示信息,推荐使用SparseArray来替代HashMap:接下来就来介绍下SparseArray:a.数据结构:又称稀疏数组,内部通过两个数组分别存储key和value,并用压缩的方...

2019-01-30 17:37:16 301

原创 鹅厂实习| 周记(一)

我胡汉三又回来了!在结束了本科最后一门考试后,如愿来到鹅厂,赶在毕业正式入职前,先来实习感受下工作氛围。现在刚结束了实习的第一周,按照习惯,以下是本周的知识清单:meta-dataapp & modulescompile & implementationjar & aar页面跳转 & 路由跳转一点小感悟1.meta-data(元数据)

2019-01-20 22:05:57 537 4

原创 要点提炼| 理解JVM之类文件结构

之前还在美团实习的时候,当时读《深入理解Java虚拟机》由于时间原因只总结了几个章节,现在把余下的几个章节补充上,发表时间顺序有些混乱,章节主线详见文章汇总|学习Android的一点一滴。本篇将了解Class文件结构中的各个组成部分,以及每个部分的定义、数据结构和使用方法,这对后面进一步了解虚拟机执行引擎有很重要的意义。概述Class类文件结构字节码指令1.概述各种不同平台...

2019-01-02 22:20:56 138

原创 要点提炼| 理解JVM之字节码执行引擎

本篇将从概念模型的角度来介绍虚拟机的方法调用和字节码执行。概述运行时栈帧结构方法调用1.概述a.有关虚拟机与物理机的异同同:都有代码执行能力异:物理机的执行引擎是直接建立在处理器、硬件、指令集和操作系统层面上的虚拟机的执行引擎是由自定义的,可自行制定指令集与执行引擎的结构体系,且能够执行不被硬件直接支持的指令集格式b.有关Java虚拟机字节码执行引擎的概念模型...

2019-01-02 22:20:40 96

原创 要点提炼| 理解JVM之程序编译&代码优化

本篇将介绍程序编译时期的代码优化手段,分成两个阶段:概述早期(编译期)优化晚期(运行期)优化1.概述a.由于对Java语言的编译期理解不同,可以分出几个时期:前端编译器作用:把Java代码转变成字节码代表:Sun的Javac、Eclipse JDT中的增量式编译器(ECJ)该时期的优化主要用于提升程序的编码效率后端运行期编译器/JIT编译器作用:把字节码转变成...

2019-01-02 22:20:14 137

原创 2019校招Android面试题解1.0

针对2019Android秋招提前批面试总结中归纳的校招面试题做个小解答(除算法,算法部分另做总结) 。受文章发表字数限制,题解一共分成上中下篇,详见简书博客:2019校招Android面试题解1.0(上篇)2019校招Android面试题解1.0(中篇)2019校招Android面试题解1.0(下篇)...

2018-10-06 10:29:27 1778

原创 美团实习| 周记(五)

本周知识清单如下:Java基础之注解一点小感悟

2018-07-27 16:46:49 1023 9

原创 要点提炼| 理解JVM之线程安全&锁优化

本篇将介绍线程安全所涉及的概念和分类、同步实现的方式及虚拟机的底层运作原理,以及虚拟机为了实现高效并发所采取的一系列锁优化措施。概述线程安全锁优化1.概述 在要点提炼| 理解JVM之内存模型&线程中主要介绍了虚拟机如何实现『并发』,现在的关注点是虚拟机如何实现『高效』。2.线程安全 在实现高效之前,首先需要保证并发的正确性,因此本节先介绍线程安...

2018-07-19 16:12:03 211

原创 要点提炼| 理解JVM之内存模型&线程

本篇将介绍虚拟机如何实现多线程、多线程之间由于共享和竞争数据而导致的一系列问题及解决方案。概述 硬件的效率与一致性Java内存模型 主内存与工作内存内存间交互操作对于volatile型变量的特殊规则对于long和double型变量的特殊规则原子性、可见性与有序性先行发生原则Java与线程 线程的实现Java线程调度状态转换...

2018-07-18 20:04:48 182

原创 要点提炼| 理解JVM之类加载机制

本篇将了解类加载机制和双亲委派模型这两大知识考点:概述类加载全过程类加载器&双亲委派模型1.概述a.JVM类加载机制:是虚拟机把描述类的数据从Class文件加载到内存,并对数据进行校验、转换解析和初始化,最终形成可被虚拟机直接使用的Java类型的过程。b.特性:运行期类加载。即在Java语言里面,类型的加载、连接和初始化过程都是在程序运行期完成的,从而通过牺牲一...

2018-07-15 13:53:15 186

原创 美团实习| 周记(四)

本周知识清单如下:Android Lint工具Java基础之注释一点小感悟1.Android Lint工具a.是Android Studio提供的代码扫描分析工具,在不运行程序或者写任何测试用例的情况下,帮助发现代码结构和质量问题,并提供一些解决方案。b.工作流程:根据预先配置的检测标准检查项目的源文件,发现潜在bug和可优化代码,并将扫描结果显示在控制台或者Andro...

2018-07-13 17:12:35 364

原创 要点提炼| 理解JVM之GC

有内存分配就会有内存回收,上篇也了解到Java堆是垃圾收集器管理的主要区域,本篇将理解这部分内存的垃圾回收机制。对象存活判定算法垃圾收集算法1.对象存活判定算法 概念:引用的四种类型 强引用(StrongReference) 具有强引用的对象不会被GC; 即便内存空间不足,JVM宁愿抛出OutOfMemoryError使程序异常终止,也不会随意回...

2018-07-08 15:25:05 191

原创 美团实习| 周记(三)

本周知识清单如下,ps本周的感悟非常诚恳了不容错过哦~颜色透明度计算SpannableString类常见的四种访问主线程方式RecycleView的item动画使用Rxjava实现点击防抖动Java基础之泛型一些小感悟1.颜色透明度计算 如果UI在设计图中标注的颜色是这样的#FF0000(10%不透明度),那就需要进行颜色透明度的计算。a.颜色:And...

2018-07-07 20:45:03 1951

原创 框架学习| Retrofit2.x(一)

开新坑辣!一直觉得自己框架了解的特别少,大多只知其名而不知实现原理,然而几乎每次面试都会被问及框架。所以很有必要总结一些常用的框架,希望自己能坚持把这个『框架学习』系列的新坑填的厚实一点!先从网络框架中大名鼎鼎的Retrofit开始吧,本篇先对Retrofit有个了解,目录如下:概述使用方式1.概述a.Retrofit:是Square公司基于RESTful风格推出的网络框架封...

2018-07-04 20:01:31 304

原创 要点提炼| 理解JVM之内存管理

本系列专题的第二个板块“疯狂Java”是对李刚老师的《疯狂Java讲义》著作的学习和扩展,也是在春招过程中发现自己Java基础的不足,特意精选了几个重要知识点进行总结。现在先从非常重要的集合类开始吧~...

2018-06-29 10:09:55 218

原创 美团实习| 周记(二)

本周知识清单:Java基础之Collections一些小感悟

2018-06-27 18:39:47 302

原创 美团实习| 周记(一)

来实习公司三四天了,现在开始熟悉业务代码,但前提是会用Git从代码库拉取代码,且企业项目都是多人协作开发,必然需要进行项目版本控制管理,现在常用的工具是Git,另外还有如SVN,本篇主要介绍Git。Git简述Git和GitHubGit和Stash1.Git简述2.Git和GitHub使用github开源平台作为代码仓库托管平台。3.Git和StashSt...

2018-06-19 15:01:11 3182

原创 2018Android暑期实习面试总结

历经两个月的春招,最近终于尘埃落定,为人生第一份实习画上圆满的句号。现在决定好好总结自己春招的准备和经历,为秋招再战。包括以下内容:春招战绩如何准备知识考点面试感受总结反思1.春招战绩基本情况:某985高校,非计算机专业大三学生,求职意向为Android开发。经过网申简历筛选和笔试考核之后,共收到七家公司的面试邀约,分别是腾讯提前批、百度、美团点评、京东、华为、完美世界...

2018-05-15 21:26:24 1373

原创 要点提炼|开发艺术之性能优化

本篇重点是性能优化,包括内容:优化方法 布局优化绘制优化内存泄漏优化 MAT工具响应速度优化ListView&Bitmap优化线程优化其他程序设计思想一.优化方法1.布局优化a.核心思想:尽量减少布局文件的层级。b.方式:多嵌套情况下可使用RelativeLayout减少嵌套。布局层级相同的情况下使用LinearLayout,它比RelativeLayout更高效。使用<

2017-12-30 00:13:29 222

原创 要点提炼|开发艺术之Bitmap&Cache

本篇将总结有关图片加载、缓存策略以及优化列表卡顿的知识点:Bitmap的高效加载缓存策略 LruCache内存缓存DiskLruCache磁盘缓存ImageLoader 希望这篇文章对你有帮助~

2017-12-27 17:35:47 284

原创 要点提炼|开发艺术之四大组件

提到四大组件大家肯定再熟悉不过了,本篇侧重于对四大组件工作过程的分析:概述工作过程 ActivityServiceBroadcastReceiverContentProvider1.概述a.Activity类型:展示型组件。作用:展示一个界面并和用户交互。使用: 需要在AndroidManifest中注册。需要借助Intent启动,两种方式: 显示Intent: Inte

2017-12-26 21:16:14 269

原创 要点提炼|开发艺术之线程

本篇的主要内容是Android的线程和线程池:概述线程形态 AsyncTaskHandlerThreadIntentService线程池一.概述1.含义:线程是操作系统调度的最小单元。2.特点:线程是一种受限的系统资源。即线程不可无限制的产生且线程的创建和销毁都有一定的开销。 Q:如何避免频繁创建和销毁线程所带来的系统开销? A:采用线程池,池中会缓存一定数量的线程,进而

2017-12-24 11:11:50 208

原创 要点提炼|开发艺术之消息机制

Android的消息机制指的是Handler的运行机制,本篇将总结Handler机制的相关知识点:消息机制概述消息机制分析1.消息机制概述a.作用:跨线程通信。b.常用场景:当子线程中进行耗时操作后需要更新UI时,通过Handler将有关UI的操作切换到主线程中执行。 系统不允许在子线程访问UI的原因:UI控件非线程安全,在多线程中并发访问可能会导致UI控件处于不可预期的状态。而不对UI控

2017-12-23 11:20:27 220

原创 要点提炼|开发艺术之IPC

在上一篇Window里提及过IPC,本篇将详细总结IPC,知识点如下:IPC基础及概念 多进程模式序列化 Serializable接口Parcelable接口Binder机制IPC方式 Bundle文件共享AIDLMessagerContentProviderSocketBinder连接池一、IPC基础及概念1.多进程模式a.进程&线程进程:

2017-12-20 22:34:57 278

原创 要点提炼|开发艺术之Window

多数情况我们是和Activity和View打交道,在之前学习中也都接触过,本篇来深入学习和它们有紧密联系的Window,主要内容:Window&WindowManagerWindow的内部机制(添加、删除、更新)Window的创建过程(Activity、Dialog、Toast)1.Window&WindowManagera.Window&PhoneWindow: Window是一个抽象类

2017-12-19 21:29:41 260

原创 要点提炼|开发艺术之Animation

在之前开发艺术之View讲滑动的时候曾简单提起过动画,本篇将依次分析和总结以下三类动画:View动画(View Animation)/补间动画(Tween animation) 自定义View动画布局动画Activity切换动画逐帧动画(Drawable Animation)属性动画(Property Animation)一View动画1.Q:View动画主要的四种变换效果A:平移动画

2017-12-16 22:52:06 300

原创 要点提炼|开发艺术之Drawable

提到Drawable,第一反应肯定是用于存放图片,实际上,Drawable还可以存放其他资源。那么本篇就来深入了解Drawable,要点如下:Drawable简介Drawable种类 BitmapDrawableNinePatchDrawableShapeDrawableLayerDrawableStateListDrawableLevelListDrawableTransitio

2017-12-13 23:09:22 232

原创 要点提炼|开发艺术之View

在Android中的任何一个布局、任何一个控件其实都是直接或间接继承自View的,因此View是一个很重要的概念。本篇将深入学习View,内容如下:View事件体系 View位置参数View的触控View的滑动View事件分发机制View滑动冲突View工作原理 View工作流程自定义View简介:在Android的世界中View是所有控件的基类,其中也包括ViewGroup在内

2017-12-09 22:20:46 313

原创 要点提炼|开发艺术之 Activity

本系列专题以提炼要点的方式总结知识点,而不做具体展开,对应的会附上个人较喜欢的文章链接供大家详细了解和学习。第一个板块 开发艺术 是对任老师的《Android开发艺术探索》著作的学习和扩展,此书的目录也是该板块的主线,那么就先从我们熟悉的Activity开始吧~在之前的Activity篇主要学习Activity的生命周期、创建和页面跳转的实现,本篇将深入了解Activity,学习清单:生命周期全

2017-12-06 23:13:14 357 2

原创 BUG汇总 1

1.Unsupported Modules Detected: Compilation is not supported for following modules问题描述: 在程序界面的右上角提示无法编辑程序 解决办法: File -> Invalidate Caches / Restart -> Invalidate Caches & Restart. 2.Gradle sync fail

2017-11-30 19:33:44 2024

原创 学习笔记| AS入门(十) 组件篇之Service

Service(服务)是Android中实现程序后台运行的解决方案,它非常适合用于去执行那些不需要和用户交互而且还要求长期运行的任务。Service主要负责与UI无关的工作,比如耗时操作。本篇学习Service相关知识点有:Service概要 开启子线程异步消息处理机制 Service生命周期Service的基本用法 普通Service 前台Service 系统Service

2017-09-02 13:49:23 1073

原创 学习笔记| AS入门(九) 组件篇之Broadcast Receiver

Broadcast(广播)是一种广泛应用在应用程序之间传输信息的机制,而BroadcastReceiver(广播接收器)则是用于接收来自系统和应用的广播对并对其进行响应的组件。Android提供了一套完整的API,允许应用程序自由地发送和接收广播,其中又用到可以传递信息的Intent。那么本篇将介绍以下三种类型广播的发送和接收方法:普通广播有序广播本地广播

2017-09-01 21:25:51 402

原创 学习笔记| AS入门(八) 组件篇之ContentProvider

终于又回到组件篇,Android中非常重要的四大组件–Activity、ContentProvider、BroadcastReceiver和Service,它们分工明确,共同构成了可重用、灵活、低耦合的安卓系统。通过之前的学习,我们知道Activity主要负责UI加载和页面跳转,接下来几篇就依次介绍后三种组件,本篇先学习ContentProvider,目录见下:ContentProvider

2017-09-01 11:29:54 591

原创 学习笔记| AS入门(七) 数据存储篇

一个好的开发平台要对数据的存储有良好的支持,而不是仅靠保存在内存中的瞬时数据。本篇主要介绍Android平台实现数据存储的三种方式,分别是:File 文件存储SharedPreferences存储SQLite数据库存储在分别介绍之前,先要知道以上三种方法使得数据文件都默认存储在哪里,方便后续验证,如图:另外,关于如何在DDMS里File Explore下打开data

2017-08-30 10:36:44 4865 1

原创 学习笔记| AS入门(六) 碎片Fragment

安卓自3.0开始引入Fragment的概念,主要是为了能在不同分辩率屏幕上进行更为动态和灵活的UI设计,让程序更加合理和充分利用大屏幕空间。本篇将学习Fragment以下几个知识点:Fragment概要Fragment生命周期加载Fragment方法 静态加载动态加载Fragment与Activity之间通信

2017-08-29 19:52:04 2596

原创 学习笔记| AS入门(五) 高级控件篇(下)

以下是今日份的控件清单:WebView 网络视图Dialog 对话框Notification 通知Meau 菜单1.WebView 网络视图当一个应用程序想展示一个网页时,可以怎么做呢?自己去做一个浏览器是完全没有必要的,一种方法是调用系统浏览器或第三方浏览器加载,需要用到Activity篇学过的信使Intent类。Intent不仅可以启动程序内部的活动,也可以启动其他程序的活动,所以可以

2017-08-27 21:54:05 637

空空如也

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

TA关注的人

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