自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(28)
  • 资源 (2)
  • 收藏
  • 关注

原创 布局优化?应该这么玩

布局优化?应该这么玩布局优化作为Android性能优化的一部分,其重要性不言而喻。那么在开发过程中,应该注意哪些事项,才能有助于我们开发出流畅的安卓应用?当遇到布局卡顿的时候,又该如何通过分析定位问题?本篇文章将会从原理到实践,一步步教你如何玩转布局优化。概念合理的布局,能够有效地提高性能,加快页面的显示速度,简化逻辑的复杂度。而布局对于Android性能的影响,则主要包含两个方面:测量+绘制。作用通过布局的优化,有效的减少页面的卡顿、丢帧等情况,实现应用的流畅。基础知识为什么布局复杂的时候

2020-06-21 17:45:28 536

原创 深入理解内存优化之道

深入理解内存优化之道最近一直想着自己以后的路如何走,Android的坑位越来越少,对于能力的要求也越来越高。曾想着换一个方向,但是最终都放弃了,毕竟这是自己喜欢的东西。所以,继续下去,不断的在Android方向发展吧。机会是给准备的人的,不断的充实自己,时刻准备着~进入正题。优化工作是一个开发工程师进阶必备的一种能力。包括内存优化,电量优化,网络优化等等。这些优化所需要的能力,其实是对于各种知识的一种综合运用处理能力。概念内存优化,是对于应用程序的内存使用、空间占用进行一定的优化处理。作用通过

2020-06-14 23:16:18 525

原创 Lifecycle源码解析

Lifecycle源码解析自从谷歌发布 Android Architecture Components 架构组件之后,基本所有的项目都在慢慢的像这种模式来进行转化,结合 DataBinding 用起来简直爽的起飞。在这个框架中,最基础的应该非 Lifecycle 莫属了,它能够自动感知生命周期状态的变化,从而避免了之前在 MVP 经常遇到的页面销毁后,回调导致的NEP问题。今天就对Lifecyc...

2020-02-27 22:04:16 313

原创 Picasso解密

Picasso解密之前做过一篇Glide万字解密,整体来说Glide的源码是很多的,阅读起来比较费劲。而如果我们使用一些简单的图片加载的话,建议使用Picasso,因为他的类库文件比较少,功能也相对来说能满足大部分使用场景的。这一次我们对Picasso来做一次源码的解析工作。如果你看过Glide那一套源码解析,那么相信你,看Picasso的源码的话,会容易很多。Picasso的一般使用方式:...

2020-02-21 12:08:54 945

原创 Glide万字解密

Glide万字解密Glide现在应用最广的一个图片加载框架了,一直都想对它下手,每次都是深陷其中。。。这次狠下心来,对它来个全面的剖析,争取对整个流程和其中的细节都有一个覆盖。本文的Glide的解析是基于最新的4.11.0版本来进行的。其实从一般的网络加载图片,可以简单分析下大体的流程,无非就是建立相关的请求信息,然后通过线程池技术对请求信息进行请求,然后将下载的图片文件进行转化显示。先来...

2020-02-17 17:54:50 1059

原创 SpringMVC启动流程源码解密

我们知道,SpringMVC最后是通过Tomcat来进行部署的。当在Servlet中进行进行应用部署时,主要步骤为(引用来自http://download.oracle.com/otn-pub/jcp/servlet-3.0-fr-eval-oth-JSpec/servlet-3_0-final-spec.pdf):When a web application is deployed into...

2020-01-20 20:46:36 842

原创 SpringMVC启动流程源码解密

我们知道,SpringMVC最后是通过Tomcat来进行部署的。当在Servlet中进行进行应用部署时,主要步骤为(引用来自http://download.oracle.com/otn-pub/jcp/servlet-3.0-fr-eval-oth-JSpec/servlet-3_0-final-spec.pdf):When a web application is deployed into...

2020-01-19 00:48:09 130

原创 零拷贝

概念零拷贝CPU不执行数据从一个存储区域到另一个存储区域的任务。所以同一个存储区域之间的拷贝也属于零拷贝。DMADMA(Direct Memory Access,直接存储器访问)。将一批数据从源地址搬运到目的地址去而不经过CPU的干预。相关知识可以参考DMA之理解I/O内存映射(mmap)关联 进程中的1个虚拟内存区域 & 1个磁盘上的对象,使得二者存在映射关...

2020-01-17 19:59:34 893

原创 并发编程架构图

xmind原图地址参考ReentrantReadWriteLock读写锁详解Java并发基础知识本文由 开了肯 发布!

2020-01-15 08:38:58 1759

原创 一次博客崩溃日志分析

一次博客崩溃日志分析自从买了腾讯云,瞎倒腾了很多东西,搭建了MySQL,redis,zk等等,然后自己尝试搭建了博客,并设置了守护进程。昨天开始突然莫名其妙的,总是服务重启。进入系统后,通过top指令发现cpu总是突然飙升到99%。之后博客就挂掉了。然后cpu就降下来了。感觉像是被系统kill掉了。自己摸索的小白,只能查查指令集喽~~~系统的日志都存放在/var/log/messages...

2020-01-14 21:25:38 475

原创 RxJava2源码解析

基础解析我们看下RxJava最简单的写法 Observable.create(new ObservableOnSubscribe<String>() { @Override public void subscribe(ObservableEmitter<String> emitter) throws Exce...

2020-01-14 21:24:19 956

原创 一次博客崩溃日志分析

一次博客崩溃日志分析自从买了腾讯云,瞎倒腾了很多东西,搭建了MySQL,redis,zk等等,然后自己尝试搭建了博客,并设置了守护进程。昨天开始突然莫名其妙的,总是服务重启。进入系统后,通过top指令发现cpu总是突然飙升到99%。之后博客就挂掉了。然后cpu就降下来了。感觉像是被系统kill掉了。自己摸索的小白,只能查查指令集喽~~~系统的日志都存放在/var/log/messages...

2020-01-13 23:10:26 219

原创 Spring循环依赖的解决

Spring循环依赖的解决什么是循环依赖循环依赖,是依赖关系形成了一个圆环。比如:A对象有一个属性B,那么这时候我们称之为A依赖B,如果这时候B对象里面有一个属性A。那么这时候A和B的依赖关系就形成了一个循环,这就是所谓的循环依赖。如果这时候IOC容器创建A对象的时候,发现B属性,然后创建B对象,发现里面有A属性,然后创建B.....这么无限循环下去。我们先用代码演示一下:public c...

2020-01-13 21:09:23 1236

原创 最简求子序列最大和

已知给定序列A1,A2,A3……An,求A1~An的一个子序列Ai~Aj,使得Ai到Aj的和最大 public static int maxSub(int[] sequeuece){ int max=0; int n=sequeuece.length; int sum=0; for(int i:sequeuece){

2017-09-18 22:59:29 631

翻译 MVP在RecyclerView中的使用

引言 有时候,感觉老外的文章,思考深度比国内深很多,最近看到一篇如何 在RecyclerView中使用MVP的文章,感觉挺好,特翻译过来进行记录。原文 RecyclerView in MVP — Passive view’s approach译文 每次当使用RecyclerView(或者其他需要适配器的视图)的时候,最重要的就是如何处理数据。 很多时候,大家倾向于在Adapter中持有一个

2017-08-07 22:00:54 1656

转载 好的文章记录

唉,各种笔记开始收费了。。。好的文章不知道该存哪儿了。。。只能在这里记录了,方便以后查找~~~ Android编程——自定义View类onSaveInstanceState与onRestoreInstanceState使用方法

2017-01-11 09:35:22 699

转载 android studio 生成release.aar

最近在使用android studio打包aar的时候(直接build)发现outputs/aar下面总是只会生成debug.aar而没有生产release.aar。并且build.gradle中 配置了debug和relase两个版本:buildTypes { release { signingConfig signingConfigs.myConfig

2017-01-05 17:36:16 1993

原创 RecyclerView和Scrollerview冲突

实现方案如此简单:屏蔽掉recyclerview的纵向滑动即可:recyclerView.setLayoutManager(new LinearLayoutManager(this) { @Override public boolean canScrollVertically() { return false;

2016-12-23 11:21:36 603

翻译 RecyclerView,你一定要这么用!!

RecycleView的最佳使用方案recycleview已经广为人知,并且别大家所使用。然而在使用的过程中,有一些却不是recycleview开发者希望使用的ViewHolder的正确使用。 你怎么使用你的ViewHolder?//定义 class ViewHolder { TextView title; TextView body; Ima

2016-12-22 18:19:06 602

转载 retrofit下设置header

Header中包含了重要信息,在okhttp中进行设置,如下public static OkHttpClient genericClient() { OkHttpClient httpClient = new OkHttpClient.Builder() .addInterceptor(new Interceptor() {

2016-10-11 18:46:46 1063

转载 Android自动化测试遇到的坑

Android单元测试遇到的坑1“`ruby junit.framework.AssertionFailedError: Exception in constructor: testCheckText (java.lang.NoClassDefFoundError: ait.common.testunittest.app.MainActivity2 at ait.common.testu

2016-09-06 13:57:18 1223

原创 Android Studio上传lib到Jcenter(记录)

说明Android Stuido通过一句简单的话就可以引用一些三方库,很大程度上方便了程序。有时候,我们也想把自己开发的一些类库保存下来,方便以后使用。查了好久,终于实现了。方法步骤:通过四个步骤实现相关功能。步骤1: 在顶层build.gradle中增加如下代码: classpath 'com.jfrog.bintray.gradle:gradle-bintray-plugin

2016-08-17 18:11:04 841

转载 Android 编程下 Touch 事件的分发和消费机制

一直对于Android的事件分发比较模糊,最近看了一片文章,感觉很经典,特此记录。Android 中与 Touch 事件相关的方法包括:dispatchTouchEvent(MotionEvent ev)、onInterceptTouchEvent(MotionEvent ev)、onTouchEvent(MotionEvent ev);能够响应这些方法的控件包括:ViewGroup

2016-02-23 10:40:52 822

转载 自定义颜色控件の颜色采集View

自定义的View,效果图如下所示 在自定义View中,除去padding,宽高比例是1:1.1,如果宽度设定好,高度值无效。如果宽度为未确定,按照高度值设定。 对外接口:setOnColorChangedListener()package com.android.demo;import android.content.Context;import android.graphics.Canvas

2015-12-28 14:02:15 1288

原创 Android自定义控件---打造不一样的FlowLayout

网上关于FlowLayout的文章有很多,大部分都是右侧空白不固定: 但是不想我想要的效果,修改了一下,先来看看效果图。 如果你对FlowLayout还不了解,可以看看鸿洋大神的文章:Android 自定义ViewGroup 实战篇 -> 实现FlowLayout。想一想,其实在设置每个子类的宽度的时候,将剩余宽度平均分配给每个子控件便可以实现我要的效果。 嗯,先上FlowLayout文件

2015-12-09 17:43:48 1468 3

原创 viewpage+fragment的生命周期问题

最近想通过viewpager+fragment来实现类似于手机淘宝里面我的订单功能:在这里面,我每次点击相关viewpager的导航时,实现如下功能:1:显示一个progressDialog。2:从网络上加载最新数据,加载完成后关闭progressDialog,显示数据或者先(显示没有相关数据)。3:屏蔽预加载功能。个人想法:每次fragement显示时加载数据,即:在fr

2015-08-06 10:52:09 2025 1

原创 如何让android studio在运行时自带签名

以前开发百度地图的时候,申请一个key后,直接运行eclipse,便可以获取位置信息。今天在用android studio做的时候,插上手机,直接真机调试的时候,发现每次总是获取key失败。使用as里面的build->Generate Signed APK可以生成一个apk文件,安装。完美获取位置信息。总不能每次都这么生成一个文件,然后安装吧?太麻烦了。解决方案:当然了,你

2015-07-24 15:18:49 3362 2

原创 使用Android studio中遇到的各种问题记录

Adnroid Studio 开发中遇到的问题记录

2015-07-13 09:44:07 3358

商店100个技能特效+大地之城游戏特效汇总

unity 技能特效。 大地之城游戏特效 商城下载汇总

2022-05-15

基于mini2440的qt小程序

包含了adc,hello,led,pwm,udp,以及按键的相关小程序

2014-06-11

空空如也

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

TA关注的人

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