自定义博客皮肤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 开发中脚本 提高效率工具

有时候一些情况比如端口问题,或者日志堆积问题,导致我们有一天发现我们的logcat并没有输出日志,或者我们想把日志保留下来慢慢分析,毕竟有些问题并不是一眼就看出问题的。下面分析几种获取日志的方法。其中android 系统日志 不同设备和手机厂商可能不一样,有些是data/android_log,这都不是重点,重点是只要我们知道日志在哪里,都可以通过adb pull 取出来。::获取系统的dumpsys信息,包含dumpsys package XXX的信息。::获取系统的各目录下的日志,根据不同系统进适配。

2024-07-18 19:08:06 239

原创 Java中Future 用来做异步任务返回

因为Future的get()方法是阻塞的,是否会导致主线程阻塞进而发生ANR的惨剧。前面提到的几种使用方法是使用异步编程最简单的步骤,CompletableFuture.get()的方法会阻塞直到任务完成,这其实还是同步的概念,这对于一个异步系统是不够的,因为真正的异步是需要支持回调函数,这样以来,我们就可以直接在某个任务干完之后,接着执行回调里面的函数,从而做到真正的异步概念。笔者最近项目中出现了一个ANR,具体是调用了远程服务,发生异常一直没有返回值,然后导致ANR。方法,来运行一个回调函数。

2024-07-18 19:07:21 284

原创 Android Framework学习之系统启动流程

2024-07-18 19:06:36 105

原创 android 源码zygote进程启动流程图

2024-07-18 19:05:45 118

原创 Handle学习小结

2024-07-18 19:04:43 102

原创 一次glide内存泄漏排查分析

目前项目在做内存排查,因为是车机项目,之前开发的时候没有注意内存方面的问题(车机项目你懂的),现在ota期间系统提出让我们优化内存,说出现过应用内存一直增加的情况。抱着这种想法,我多次切换白天黑夜模式,并且退出进入应用,没有报多个activity实例,一直都是2个,嗯...大概是这个原因了,这时候我想如果我进入应用中。第一想法是,车机项目加载了很多背景图,有些都在200k~~400k,和UI沟通,无法再压缩,会糊。第二是排查代码,一顿操作,各种点击,发现本地代码有需要优化的地方。静态内部类,弱引用搞起。

2024-07-18 19:03:37 716

原创 图片加载框架的总结

进入安卓开发行业也快三年时间了,感觉图片加载一直是app开发中不可以绕过的一环。最初刚入行时直接httpurlConnection连接网络,加载图片到imageview这样在ListView中使用时会出现OOM,后来通过上网找资料学习,知道了UIL,UniversalImageLoader,当时这个框架很火,在github上很多星。通过设置内存缓存和磁盘缓存可尽可能避免OOM的发生。这是一个很好的

2018-02-05 11:56:48 222

原创 android 屏幕适配

android 屏幕适配是个大问题,其中一种思路就是设置很多value文件夹下面添加dimen文件。首先以一种尺寸为基准,如1920*1080,然后其他尺寸的按比例生成相应的dimen文件。还需要注意一点是虚拟键和状态栏(当然没有虚拟键,或者全屏除外),这是只需要将相应的文件命名为1776*1080,即减去虚拟键的高度,从1920*1080中复制文件到1776*1080中即可。注意:经测试

2018-02-05 10:42:41 196

原创 git使用方法总结

之前项目从svn迁移到git管理,学习了一些基本的操作命令。现将学习过程与大家分享下。1.首先去下载git并且安装,注意是32位还是64位的。2.安装成功后,到文件目录下打开git base 执行git 命令 会有反馈。这说明安装成功了。3. 执行命令行mkdir learngit  和 cd learngitpwd 命令用于显示当前目录如果你使用Windows系统,为

2018-02-05 10:39:59 159

原创 Android抽象布局——include、merge 、ViewStub

在布局优化中,Androi的官方提到了这三种布局、、,并介绍了这三种布局各有的优势,下面也是简单说一下他们的优势,以及怎么使用,记下来权当做笔记。标签能够重用布局文件,简单的使用如下:LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertica

2018-02-05 10:32:22 168

原创 安卓中使用rxjava

添加依赖compile 'io.reactivex:rxjava:2.1.6'compile 'io.reactivex:rxandroid:2.0.1'简介: 响应式编程是一种面向数据流和变化传播的编程范式。通过Rx框架我们可以很好地使用该范式。 以下为官网对该框架的解释: ReactiveX is a library for composing asynchronous

2018-02-05 10:14:14 271

原创 retrofit的简单使用

前一段时间项目中使用了Retrofit,看了一下文档,学习了一下。分享给大家。一、概述 Retrofit是Square公司开发的一个类型安全的Java和Android 的REST客户端库。来自官网的介绍:A type-safe HTTP client for Android and Java Rest API是一种软件设计风格,服务器作为资源存放地。客户端去请求GET,PUT, P

2018-02-05 09:51:47 266

原创 BufferKnife框架注解说明文档

butter knifeField and method binding for Android viewsButter knife通过使用 @bind 和一个view的ID进行注解,可以在layout中找到并将其自动投射(cast)成对应的view。class ExampleActivity extends Activity {@BindView(

2018-02-05 09:47:23 197

原创 EventBus的基本使用

基本的使用定义eventsEvents通常是一个POJO(plain old Java object).可以根据需要,随便定义。可以定义多种类型的events,事件处理函数根据事件的类型实现重载。events除了自定义,还可以是Java中的基本类型(int, boolean等)。public class MessageEvent{ public String message

2018-02-05 09:40:51 211

原创 ViewPager的setOnPageChangeListener事件

今天整理之前的笔记发现之前总结的一些关于ViewPager的setOnPageChangeListener事件,主要的应用场景就是和ViewPager联动的情况。ViewPager有两个操作,一个是用手指滑动翻页,一个是直接setCurrentItem(一般用于点击上面的tab直接setCurrentItem)。下面的方法介绍也会针对这两种情况分别介绍。最后还会讨论这三个方法相对执行顺

2018-02-05 09:37:03 232

原创 android Activity4种启动模式及其特点

之前做项目时遇到了activity启动模式的问题,一直想要总结下,今天将总结的知识点与大家分享下,如有不足欢迎斧正。  activity启动模式分为四种,standard,singleTop,singleTask和singleInstance。这四种模式是在AndroidManifest.xml清单中设置,例如:android:name=".hpage.MainActivity"

2018-02-03 13:41:54 1637

原创 android动画之属性动画

android动画之属性动画android 属性动画,顾名思意。即通过改变对象的属性来实现一些动画效果,它的使用范围已经不止于view,可以对任意有属性的对象进行操作,比如对某个值入alpha进行操作,可以实现逐渐消失的效果。属性动画中有两个很重要的类,ValueAnimator和ObjectAnimator。其中ObjectAnimator继承自ValueAnimator,是其子类。注

2017-05-27 17:27:59 243

原创 android动画

本博客供学习和交流使用从事安卓开发也有一段时间了,之前从事开发的项目中也多次用到动画,一直想好好总结一下,梳理 一下相关知识。一直记得刚入行的时候一位师傅跟我说过一句话,做技术开发要懂得经常总结,这样才能 很快的得到提高。接下来,我会花上一段时间来总结一下,梳理一下脑海中的知识。一般安卓中将动画分为两大类:View Animation和 Property Animation 。其中,Vi

2016-12-12 22:23:09 617

空空如也

空空如也

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

TA关注的人

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