自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

黑夜的触手

不同的世界

  • 博客(36)
  • 资源 (1)
  • 收藏
  • 关注

原创 Android异常分析手段

一、导出手机日志adb logcat >d:log.txt退出logcat

2021-06-17 15:10:02 412

原创 Dalvik与ART区别屋

一、Dalvik和ART区别Dalvik环境中,应用每次运行时,字节码都需要通过即时编译器JIT(Just In Time ,)转换为机器码。ART环境中,应用会在安装的时候就将字节码预编译AOT(Ahead of Time)成机器码。...

2020-04-27 20:45:24 197

原创 apk打包流程屋

一、图解 aapt:1、将资源文件编译为二进制格式(.flat) 2、合并所有已编译的文件并将它们打包到一个软件包中...

2020-04-27 20:37:37 265

原创 APT技术屋

一、APT技术 全称annotations processor tool,apt技术是在编译成class文件时进行的。二、apt使用1、定义注解@Target(ElementType.FIELD)@Retention(RetentionPolicy.SOURCE)public @interface ThorAnno { String va...

2020-04-27 16:20:50 517

原创 jvm模型---JMM

一、JVM模型 简称JMM java内存模型围绕三个特性来建立的:原子性,可见性,有序性(1)原子性 类似事务,要么执行完毕,要么不执行 (2)可见性 一个线程对共享变量做了修改之后,其他的线程立即能够看到(感知到)该变量这种修改(变化) java虚拟机规范师徒定义一种java内存模型,...

2020-03-28 15:41:19 143

原创 jvm之内存回收

一、如何判断垃圾是否可回收 可达性分析算法 java虚拟机中的垃圾回收器采用可达性分析来探索所有存活的对象,扫描堆中的对象,看是否是能够沿着GC Roots对象为起点的引用链找到该对象,找不到,表示可以回收。 如虚拟机栈中的栈针中引用的对象,方法区等二、引用分类强引用 只有所有GC Roots对象都不通过强引用引用该对象,...

2020-03-28 15:37:59 200

原创 ClassLoader屋

一、class *.class是能够被jvm识别,加载并执行的文件格式,它记录一个类文件的所有信息。 hello.java---javac---->hello.class---java--->运行(1)文件结构 一种8位字节的二进制流文件 (2)class 文件弊端占用内存大,不适合移动端 堆栈的加栈模式,加载速度慢 ...

2020-03-27 14:53:59 74

原创 泛型屋

一、泛型1、泛型的优点 保证类型安全,使运行期错误提前到编译器 消除强制类型转换(如果没有泛型,认为是一个Object,在转换时,非常容易出现ClassCastException)二、泛型定义1、泛型在类上 实例看集合类public interface List<E> extends Collection<E> {...

2020-01-06 10:15:26 1330

原创 Webview的使用

一、webview的请求方式1.1、get方式//get方式请求mWebView.loadUrl("url"); //网络路径mWebView.loadUrl("file:///android_asset/test.html"); //APP本地的Html//post方式请求,带参数String postDate = "name=abc&type=1";mWe...

2020-01-05 15:22:02 142

原创 LeakCanary

一、LeakCanary LeakCanary由Square开源的一款轻量第三方内存泄漏检测工具1、LeakCanary的使用(1)在app build.gradle中加入引用debugCompile 'com.squareup.leakcanary:leakcanary-android:1.5'releaseCompile 'com.squareup.leak...

2020-01-02 11:30:18 924

原创 Bitmap

一、Bitmap1、Bitmap组成 Bitmap的存储包含两个部分:像素以及长、宽、颜色等描述信息。像素是Bitmap最占内存的地方,长宽和像素位数是用来描述图片的,可以通过这些信息计算出图片的像素占用的内存的大小。常用方法:getWidth() getHeight() Config getConfig() 枚举值枚举类型 每个像素内存 ALP...

2020-01-01 19:19:36 289

原创 属性动画----Property Animation

一、Property Animation介绍 属性动画可以对任何对象的属性进行动画(包括view),动画默认时间为300ms,默认帧率10ms/帧。在一个时间间隔内完成从一个属性值到另一个属性值得改变。 属性动画是API11才有,之前的版本无法直接使用,可以采用开源动画库nineoldandroids来兼容以前的版本。2、属相动画相关的类类名 用...

2020-01-01 11:37:54 363

原创 补间动画---- Tween Animation

一、补间动画的分类 Tween Animation作用对象时View,是一种渐进式动画。它支持四种动画效果:AlphaAnimation,ScaleAnimation, RotateAnimation,TranslateAnimation,他们分别对应Animation的四个子类。名称 xml根标签 子类 效果 平移动画 translate Tr...

2020-01-01 11:02:36 180

原创 帧动画---Frame Animation

一、Frame Animation 帧动画是顺序播放一组预先定义好的额图片,类似于电影播放,系统提供了一个类AnimationDrawable来使用帧动画。二、Frame Animation实现方式1、xml实现方式(1)定义动画<?xml version="1.0" encoding="utf-8"?><animation-list xmln...

2019-12-31 14:26:33 180

原创 Annotation注解屋

一、注解基本语法(1)定义 interface关键字前面有一个@,它告诉编译器此处声明了一个注解 因为注解都自动继承了java.lang.annotation.Annotation接口,所以,不能在extends其他类 注解可以用在类,方法、变量、形式参数、enum等public @interface AnnoTest{ public String nam...

2019-12-28 11:31:37 195

原创 Android优化

一、布局优化 布局优化就是删除布局中无用的控件和层级,可以用Hierarchy Viewer工具来检测,其次有选择地使用性能较低的ViewGroup。include标签 include标签只支持以android:layout开头的属性,比如android:layout_width;android:layout_height等,其他属性不支持,比如android:back...

2019-12-25 21:56:39 490

原创 Activtiy

一、activity的生命周期整体生命周期onCreate() onStart() onResume() onPause() onStop() onDestory() 打开页面 onCreate() onStart() onResume() 打开新的activity A-->onPause() B-->onCreate() B--&...

2019-12-25 20:11:54 179

原创 IPC

一、Linux知识点Linux环境下,进程地址空间相互独立,每个进程各自有不同的用户地址空间。 进程隔离:是一个进程不能直接操作或访问另一个进程 内核空间(Kernel Space)是Linux内核运行空间,用户空间(User Space)是用户程序运行空间;内核空间的数据是共享的,而用户空间则不可以数据共享。 系统调用:用户空间需要访问内核空间,就需要借助系统调用来实现,这是用户空...

2019-12-25 12:27:05 331

原创 网络编程屋

一、网络分层 注:应用层 http,https,ftp; 传输层 tcp、udp 网际层 ip二、Tcp TCP/IP是目前世界上应用最为广泛的协议;三次握手建立连接,四次挥手释放连接;在连接中可以进行大数据传输,安全的传输协议。(1)三次握手 过程如下:...

2019-12-24 19:43:43 222

原创 Handler----MessageQueue----Looper的解析

一、Handler使用(1)handler的初始化//初始化使用当前线程的looperpublic Handler() { this(null, false);}//使用指定线程的looper public Handler(Looper looper) { this(looper, null, false);}(2)发送消息方式,基本上是两种方式mHa...

2019-12-24 17:25:25 286

原创 Git使用详解

一、git图解1、git本地三种状态已修改(modified) 已暂存(staged) 已提交(committed) 二、git本地1、初始化git init 创建本地版本库(默认是master) git status git config --system 系统配置() git config --global ...

2019-12-15 20:06:58 199

原创 jvm

一、jvm(Java Virtual Machine)java二进制字节码的运行环境 跨平台 自动内存管理,垃圾回收功能 多态(2)jvm,jre,jdk区别 jdk包含jre,jre包含jvm二、jvm内存1、程序计数器 Program Counter Register 指令计数器,记录下一条jvm指令的执行地址,在寄存...

2019-12-15 20:06:20 88

原创 Android内存泄漏解析

一、Android内存管理机制 内存弹性分配开发,分配开发值与最大值受具体设备影响。二、Dalvik与art区别 Dalvik仅固定一种回收算法 art回收算法可运行期选择,具备内存整理能力,减少内存空间三、Android profiler(android studio 3.0以后,3.0以前Memory monitor)...

2019-12-15 20:06:07 90

原创 kotlin屋

一、数值类型(1)Kotlin中没有基本数据类型,都是对象,数值类型也是对象。类型 位宽度 字节数 事例 范围 Byte 8 1 1 -128~127 Short 16 2 2 -32768~32767 Int 32 4 123 -2147483648~2147483647 Fl...

2019-12-04 18:15:13 112

原创 java中常见的算法

一、集合去重 使用HashMap,效率最高,原因是HasnMap的原理实现。二、链表1、定义链表节点public class Node { public String data; public Node next;}2、删除链表指定节点 思路:判断临界点,是不是头尾节点,需要特殊处理一下 正常节点,删除当前节点的...

2019-11-27 16:42:10 114

原创 java数据结构

一、数组 一片物理上连续的大小确定的存储空间 下标查找元素,时间上复杂度O(1) 按值查找,时间复杂度0(n)1、定义数组 String[] arr=new String[]{"1","2","3"}; String[] arr2=new String[2]; String[][] arr3 = new String[3][5];2、遍...

2019-11-27 14:27:40 86

原创 多线程And线程池解析

一、线程与进程的关系?区别进程是资源分配的最小单位,线程是CPU调度的最小单元,同时线程也是一种有限的系统资源 一般来说一个App程序至少有一个进程,一个进程至少有一个线程,线程可以是多个 进程有自己独立的地址空间,而进程中的线程共享此地址空间,都可以并发执行 二、线程的状态 线程共包括5种状态:新建、就绪、运行、阻塞、消亡(1)创建状态 , ...

2019-11-14 23:00:59 181

原创 java基础

一、关键词final(1)四种用法 修饰类(该类不能被继承,没有子类) 修饰成员方法(该方法不能被重写) 修饰成员变量 (因为成员变量有默认值,所以在申明成员变量时直接赋值,或者在所有构造函数中赋值,两者选其一) 修饰局部变量 (赋值一次,终身不能改变) 注:final修饰引用类型,变量地址值不...

2019-11-13 14:43:19 92

原创 Dart语言基础学习

一、常量、变量1、变量//1、使用var声明变量,默认值为null var a; //nullprint(a);//2、var声明变量,可赋予不同类型的值var a; //a为null; a=1; //a为int a='sart' ...

2019-11-05 11:16:12 744

原创 Android项目编译

一、Gradle简介1、什么是gradle? gradle是一个构建系统,构建项目的工具,用来编译Android app,能够简化编译,打包,测试过程。2、android studio项目的gradle版本在哪看? project/gradle/wrapper/gradle-wrapper.properties文件,文件内容如下:distribu...

2019-11-02 11:14:42 640

原创 synchronized的解析

一、synchronized的作用 能够保证在同一时刻最多只有一个线程执行该段代码,以达到保证并发安全的效果。互斥性,可见性。1、synchronized使用前public class SynRunnable implements Runnable { @Override public void run() { try ...

2019-08-06 18:39:22 108

原创 设计模式之单例模式

一、饿汉式public class SingleTon {//饿汉式 private SingleTon() {} private static SingleTon instance=new SingleTon(); public static SingleTon getInstance() { return instance; }...

2019-08-06 00:24:41 80

原创 Service与IntentService

一、Service(1)service介绍 service是一个没有界面,可以长期运行在后台的应用程序(没有界面的activity);Service和其他组件(activity,broadcast,contentprovider)一样,运行在主线程,当在主线程中做耗时操作,大于5秒,就会ANR,所以在service中做耗时操作,应开启工作线程;因此不能用它来做耗时的操作,每...

2019-08-05 23:57:05 144

原创 Android浅谈屏幕适配方案

一、基础概念了解1、屏幕尺寸 指屏幕对角线的长度,单位英寸。1英寸=2.54cm2、屏幕分辨率 是指屏幕横向和众向像素点数 单位px 1px=1物理像素,现在一般以1920*1080为基准3、像素密度dpi 是指每英寸上的像素点数,单位dpi,与像素无关的单位;像素密度与屏幕尺寸,屏幕分辨率有直接的关系计算公式 : ...

2019-08-05 23:36:32 205

原创 HandlerThread的解析

一、HandlerThread的使用//创建实例对象HandlerThread handlerThread=new HandlerThread("thread_handler");//开启循环handlerThread.start();//创建handler,looper使用的是handlerThread的looperHandler handler=new Handler(hand...

2019-08-05 23:31:12 298

原创 网络请求框架----okhttp3

一、okhttp3的使用1、添加依赖compile 'com.squareup.okhttp3:okhttp:3.7.0'compile 'com.squareup.okio:okio:1.12.0'2、基本用法 (1)get异步请求 private void get(String url){ OkHttpClient client = ne...

2019-03-19 09:59:41 1350

方法、异常与类.xmind

方法、异常与类.xmind

2021-09-15

空空如也

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

TA关注的人

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