自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

转载 Android 开发规范

该规范可做参考,https://www.jianshu.com/p/45c1675bec69

2020-02-17 08:32:40 87

原创 android property 属性动画介绍和使用以及原理

Android 中有三种动画,分别是补间动画,帧动画,属性动画,优缺点如下: 补间动画用法简单,支持4种动画效果,不用担心内存泄漏,OOM等问题。缺点就是动画效果较少,有时不能满足需求,而且补间动画是对view的影像做动画,并没有真正改变view的状态,原来的view位置大小状态都是保持不变的。帧动画用法简单,多张图片一帧一帧的播放组成动画。缺点是图片数量过多过大,容易出现OOM。属性...

2019-02-14 23:04:27 178

转载 Android 刘海屏适配全攻略

刘海屏的适配方案 https://www.jianshu.com/p/561f7241153b/除此之外 还有QMUI中也有一套适配方案,原理一致

2020-02-18 18:56:21 212

转载 尺寸速查表

切图尺寸mdpi - 48*48 hdpi - 72*72 = ios 1.5x xhdpi - 96*96 = ios 2x xxhdpi - 144*144 = ios 3x xxxhdpi - 192*192分辨率对应 dpi480 * 800 - 240dpi 720*1280 - 320dpi 1080*1920 - 480dpi mdp - 160dpi -...

2020-02-18 14:45:58 386

原创 优化RecylerView实现多种item类型

目录1.分析需求,利弊。 2.普通adapter实现多种item 4.封装优化adapter1.需求目前市面上app 列表展示很多都会存在多种类型布局,比如存在banner区,广告区,图片,新闻等等,IM软件就更不用说,消息类型可达20多种。对于这个问题,RecyclerView可以用ViewType 区分,可以实现需求,但是会存在一些问题: 1.adapter代码过多,不便于扩展...

2019-10-07 15:48:03 219

转载 android 学习路线

Java基础 Java Object类方法 HashMap原理,Hash冲突,并发集合,线程安全集合及实现原理 HashMap 和 HashTable 区别 HashCode 作用,如何重载hashCode方法 ArrayList与LinkList区别与联系 GC机制 Java反射机制,Java代理模式 Java泛型...

2019-04-07 23:10:36 163

原创 android 中的handler机制原理

Android 中只分主线程和工作线程,主线程不能执行耗时操作,需要创建子线程执行,但子线程不能更新UI,UI更新操作需要在主线程执行,我们开发者就常常使用Handler 去切换线程更新UI,可从本质来讲Handler不是专门用于更新UI的。Handler运行需要MessageQueue消息队列 和Looper的支撑,流程是Handler 发送消息,消息存储在消息队列(实际是一个单链表,先进先出)...

2019-03-03 19:24:21 132

转载 android 线程和线程池的介绍

什么是线程,线程是程序执行的最小单位,在同一进程下的线程共享全局和静态变量,线程不能单独执行,需要依赖进程,实现进程的调度,管理以及资源分配。什么是进程,进程是资源分配的最小单位,进程有独立的地址空间,进程通信需要通过IPC。线程的创建有两种方式,如下:继承Thread类public class TestThread extends Thread{ @Override ...

2019-03-02 15:48:41 112

原创 android view滑动冲突的解决

在学习完事件分发机制后,滑动冲突对我们来说已经不是问题了,无非是在不同情况下,事件被消费了或者拦截了。那我们的解决思路是提前拦截或者在子View禁止父view拦截,也就是我们说的外部解决办法和内部解决办法。外部解决通用写法如下:直接在ViewGroup中进行事件拦截处理。@Overridepublic boolean onInterceptTouchEvent(MotionEvent ...

2019-02-28 10:08:16 154

原创 android 的事件分发机制

  说到事件分发,我们都应该有一些了解,再开发的多多少少都会碰到一些事件冲突(比如滑动冲突),利用事件分发机制就可以解决,对于事件分发机制我虽然看过很多文章,但自己不做总结,总有点一知半解所以有了这片文章。好了说正文。  当一个点击操作发生时,事件分发是从Activity 的dispatchTouchEvent方法开始的,看源码可知实现在Window的  superDispatchTouchE...

2019-02-23 18:12:13 481

原创 fragment 的懒加载

viewPage+fragment在开发中结合使用得非常多,viewPage为了页面滑动流畅,会进行预加载前后两页的fragment,这对与开发者而言有好有坏,好处开发者省事,坏处预加载可能会导致启动缓慢浪费流量等等,那么问题就来了,我们不想预加载的时候要怎么办呢,下面就来介绍一下懒加载。先来看看fragment中的一个方法public void setUserVisibleHint(b...

2019-02-21 16:47:37 109

原创 android 中webView的使用以及与js的交互

现在很多app都会内置H5页面,其中也会涉及到跟android原生交互,这就需要用到我们的webView控件,该控件功能十分强大,作用如下:显示和渲染Web页面 也可以直接使用html(网络跟本地)作为布局 可以跟JavaScript交互调用WebView的使用介绍内容:WebView类的自身常见方法 WebView常见工具类WebSetting、WebChromeClient、W...

2019-02-20 17:19:07 182

原创 android fragment 介绍和使用

fragment用了很多遍,可总觉得在理解上还有一些欠缺,就想将自己得理解写下来,看看是否能够完善。首先,android  有了activity组件,为什么还要fragment呢?我们在开发应用的时候,会发现如今机型尺寸样式非常多,单独使用activity没办法完全适配,这就可能导致要维护两份代码,fragment就是用来解决这样的问题,并且如今的底部栏+fragment和tablayout+...

2019-02-17 15:45:35 153

原创 android activity启动模式

 Activity为什么需要启动模式呢,在默认情况下,我们知道多次去启动同一个Activity,系统会一一将其放入任务栈中,单击back会发现activity一一退出。任务栈是“后进先出”的栈结构。同一个activity会重复创建这种问题Android系统早就为我们考虑好了,因为Activity有默认的启动模式,目前有4种启动模式:standard、singleTop、singleTask和sin...

2019-02-15 17:48:53 103

原创 Android代码混淆

    作为一个android开发者,代码混淆是刚需的技能。避免我们的代码轻易被人反编译得到源码。下面介绍一下在Android studio中怎么代码混淆。以及会在最后贴上大部分通用的混淆设置。如有错误,欢迎指正。首先在app  build.gradle中如下设置:buildTypes { debug { minifyEnabled false s...

2019-02-12 18:03:44 232

原创 glide的使用,遇到的坑

4.0以上版本跟以下版本写法不一致,并且不兼容,多个模块开发时尽量保证版本一致。加载大图片时可能会超时,需要修改超时时间,也就是重写GlideModule。ImageView 设置模式不对时,会导致glide加载图片出现空白占位。RecycleView 使用glide实现图片瀑布流时一定要先计算好图片的宽高,并设置为ImageView的宽高,这样就可以使RecycleView复用模板,...

2019-01-29 22:18:06 521

转载 Android ListView焦点事件冲突问题与解决

https://www.cnblogs.com/rabbit-bunny/p/4200384.html Android焦点事件分发与传递机制  https://www.jianshu.com/p/75a267486b44

2018-09-03 13:44:09 397

原创 Android IPC机制

    IPC含义是进程间通信或者说跨进程通信。    在介绍进程通信之前,我们先理解android中的多进程。我们给指定的四大组件设置androdi:process属性,就开启了多进程模式。一眼看去还是很简单,实际运用时会遇到不少问题。    开启android多进程方法常用的也就是给四大组件设置androdi:process属性,有两种声明方式当然含义也不同。还有通过jni在native层fo...

2018-05-16 17:03:09 92

空空如也

空空如也

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

TA关注的人

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