自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Android小船的专栏

记录总结

  • 博客(17)
  • 收藏
  • 关注

原创 android性能优化知识点

1.开机启动流程 了解2.冷/热/暖启动冷启动流程启动后立即为该App显示一个空白启动窗口创建App进程创建主Activity加载布局,绘制解决黑白屏1.在主题中:windowDisablePreview true//取消预览屏windowIsTranslucent true //透明2.把默认空白启动窗口改为符合自己需求的然后把Splash主题设置为和空白窗体一样。代码...

2020-04-09 10:44:56 143 1

原创 并发中的变量可见性问题

并发的线程能不能看到变量的最新值,这就是并发中的变量可见性问题方式一 synchronized1.进入同步块,先清空工作内存中的共享变量,从主内存中重新加载2.解锁前必须把修改的共享变量同步回主内存方式二 volatilevolatile可用于限制局部代码指令重排序1.使用volatile变量时,必须重新从主内存加载,并且read,load是连续的2.修改volatile变量后,必...

2020-04-09 10:41:33 198

原创 C/C++基础-结构体

指针函数与函数指针

2020-04-09 10:40:37 126

原创 EventBus手写简单实现

package com.demo.administrator.eventbus.eventbus;import java.lang.reflect.Method;import java.lang.reflect.Type;import java.util.ArrayList;import java.util.HashMap;import java.util.List;import j...

2019-05-05 15:42:23 281

原创 Android 6.0动态权限概述

Android6.0以后权限分为:危险权限,普通权限,特殊权限危险权限列表 普通权限列表特殊权限 SYSTEM_ALERT_WINDOW: 允许在所有的app之上弹出对话框(设置悬浮窗) //判断系统是否拥有SYSTEM_ALERT_WINDOW权限 if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {...

2019-05-05 14:04:38 143

原创 Java创建一个包含多级目录的空文件

public class Main { public static void main(String[] args) { try { createFile(); } catch (IOException e) { System.out.println(e.getMessage()); } ...

2019-04-27 17:22:10 367

原创 Android Paint基础方法详解

Paint常用方法mPaint = new Paint();初始化画笔mPaint.setColor(Color.RED);// 设置颜色颜色可以为0xffffff形式,或者通过Color.parseColor("#ffffff");mPaint.setARGB(255, 255, 255, 0);设置 Paint对象颜色,范围为0~255mPaint.setAlpha(...

2019-03-25 13:45:12 1523

转载 Java常用四大线程池用法以及ThreadPoolExecutor详解

为什么用线程池?1.创建/销毁线程伴随着系统开销,过于频繁的创建/销毁线程,会很大程度上影响处-理效率2.线程并发数量过多,抢占系统资源从而导致阻塞3.对线程进行一些简单的管理在Java中,线程池的概念是Executor这个接口,具体实现为ThreadPoolExecutor类,学习Java中的线程池,就可以直接学习他了对线程池的配置,就是对ThreadPoolExecutor构造函...

2019-03-14 11:25:15 183

原创 java反射面试

1.反射中getMethods 与 getDeclaredMethods 的区别?public Method[] getMethods()只返回当前类和其父类的所有public方法。public Method[] getDeclaredMethods()返回当前类的所有方法,包括public、protected、default(包)访问和private方法,不包括父类的方法。 &nb...

2019-03-14 11:24:59 1093

转载 关于Java反射

1.反射中getMethods 与 getDeclaredMethods 的区别?public Method[] getMethods()只返回当前类和其父类的所有public方法。public Method[] getDeclaredMethods()返回当前类的所有方法,包括public、protected、default(包)访问和private方法,不包括父类的方法。 &nb...

2019-03-13 16:43:20 145

原创 RecyclerView倒计时系统休眠View复用的解决方案

场景1:RecyclerView item 倒计时的时候,如果系统休眠或者应用切换到后台,由于当前应用被挂起,计时器会停止工作,返回应用计时器才开始继续工作,导致时间不对,这个计时器控件是用Timer写的。 解决方案:把Timer替换为CountDownTimer,系统休眠或者应用切换到后台后再返回时间依然准确,具体参考CountDownTimer源码,核心就是运用了SystemClock...

2018-08-30 14:32:26 1112

原创 java中关于try、catch、finally的总结

结论:1、在任何情况下,finally块中代码都会执行,包括try和catch中有return的情况; 2、finally中最好不要包含return,否则返回值都为finally中return的返回值,没有意义。 3.在finally中没有return的情况下:finally是在return后面的表达式运算之后执行的,此时并没有返回运算之后的值,而是把值保存起来,不管finally对该值做...

2018-05-10 16:01:55 266

原创 Android布局优化(二) ViewStub源码解析

public ViewStub(Context context, AttributeSet attrs, int defStyleAttr, int defStyleRes) { super(context); final TypedArray a = context.obtainStyledAttributes(attrs, R...

2018-04-28 13:46:28 216

原创 Android布局优化(一) ViewStub详解

1.ViewStub继承关系public final class ViewStub extends View java.lang.Object ↳ android.view.View ↳ android.view.ViewStub官网对ViewStub的定义:A ViewStub is an invisible, zero-sized View th...

2018-04-28 11:04:41 416

原创 java中的instanceof用法、原理

1.用法表达式 result = objinstanceof class result:布尔类型。 obj:必选项。任意对象表达式。 class:必选项。任意已定义的对象类。 例:String s = "123"; if(s instanceof String){ System.out.println("s的类型为String类...

2018-04-27 13:01:46 7928

原创 getDimension()、getDimensionPixelSize()和getDimensionPixelOffset()的区别

 在Android代码中获取res资源dimens.xml文件中定义的尺寸大小,可以通过如下三个方法:       • getDimension       •getDimensionPixelOffset       •getDimensionPixelSize在资源中的定义:<dimen name="dp_20">20dp</dimen><dimen name=...

2018-04-13 15:22:22 236

原创 关于LayoutInflater的总结

首先先看一下Android Studio Lint的警告: Avoid passing null as the view root (needed to resolve layout parameters on the inflated layout's root element) less... (Ctrl+F1)When inflating a layout, avoid passing in null as the parent view, since otherwise any lay

2017-04-07 14:53:01 1486

空空如也

空空如也

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

TA关注的人

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