自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 ANR分析

ANR详解

2023-08-29 18:40:13 205

原创 Android 四大组件Activity启动模式

每次启动一个Activity(以下均用Ac表示)都会创建一个实例,不管实例是否存在。典型多例实现,一个任务栈可以含有多个实例,每个实例也可以属于不同的任务栈。谁启动了Ac,则新的Ac运行在启动它的Ac所在栈中。

2023-08-25 10:53:04 107

原创 用AS看AOSP的debug调试和trace查耗时实战

记录工作中用到的源码调试实战方法。

2023-07-20 11:35:55 294

原创 四种跨进程通信及aidl的使用

由于android系统中应用程序之间不能共享内存。因此,在不同应用程序之间交互数据(跨进程通讯)就稍微麻烦一些。在android SDK中提供了4种用于跨进程通讯的方式。这4种方式正好对应于android系统中4种应用程序组件:Activity、Content Provider、Broadcast和Service。

2023-06-07 10:11:29 897

原创 安卓动态设置布局宽高

b)由于LayoutParams一般是在加入容器中设置的,所以容易混淆所指定的布局属性究竟是保存在容器中,还是控件本身的属性,答案是控件本身。android中的控件如果在xml布局文件中把控件的layout_width和layout_height写成固定值了,好像就不能再在程序中更改该控件的高度和宽度了?a)getLayoutParams()和setLayoutParams()都是控件基类view的public方法,在外部也可以直接调用。// 使设置好的布局参数应用到控件aaa。

2023-06-02 16:38:59 1894

原创 shape颜色渐变、圆角、半圆角、边框、填充

android shape属性

2023-05-11 09:39:15 585

原创 一套代码兼容多个APK

代码兼容

2023-03-21 18:33:47 93

原创 Tablayout自定义+viewpage2

自定义tab实现

2022-12-13 10:48:32 1796

原创 AS的Git那些错误

as git bug

2022-11-29 18:30:32 318

原创 观察者模式&工厂模式

理解观察值模式和工厂模式

2022-10-20 15:32:46 77

原创 设计模式-代理模式

理解设计模式之代理模式

2022-10-20 15:09:41 78

原创 Kotlin SharedFlow 实践使用

Flow项目实战

2022-09-20 14:12:42 184

原创 adb常用命令

1、发广播eg.发送广播创建100条UI事件adb shell am broadcast -a com.echo.cmd.upload.perflog --es action create --ei count 100adb shell am broadcast 后面的参数有:[-a ][-d <DATA_URI>][-t <MIME_TYPE>][-c [-c ] …][-e|–es <EXTRA_KEY> <EXTRA_STRING_VALUE

2021-12-03 17:31:45 2401

原创 GIT常用命令

git clone此命令是我们和远程仓库交互的第一步,通过此命令,我们可以将远程版本库克隆到本地,如上面第7步我们就使用了此命令,将远程库克隆道了本地。语法:git clone 版本库的网址     本地库名称本地库名称可以省略,省略后在本地会生成一个和远程版本库名字相同的目录。git clone xxx.git “指定目录”git clone -b [new_branch_name] xxx.git 获取指定分支代码git clone只能c

2021-12-03 17:23:23 105

原创 JAVA基础面试复习

JAVA基础面试复习1、Java基本类型8种:byte\char\boolean\ short\int\float\long\double2、计算机中最小的存储单位:byte(字节)占8位 -27-27-1byte\boolean占1个字节、char\short占2个字节、int\float占4个字节、long\double占8个字节3、装箱:让基本数据类型,拥有一些对数据处理的能力(方法)byte-Byte、short-Short、int-Interger、long-Long、float-Flo

2021-12-03 17:12:19 474

原创 java多线程

技术整理多线程线程的创建线程安全如何确保线程安全多线程进程中的最小执行单位就是线程,并且一个进程中至少有一个线程。串行和并行。串行:A->B->C并行:查杀病毒、清理垃圾、电脑加速线程的创建1、继承Thread继承 Thread 类覆盖 run() 方法直接调用 Thread#start() 执行2、实现Runnable接口实现Runnable接口获取实现Runnable接口的实例,作为参数,创建Thread实例执行 Thread#start() 启动线程3、

2021-08-03 17:13:47 77

原创 Java 重写(Override)与重载(Overload)

重写(Override)重写是子类对父类的允许访问的方法的实现过程进行重新编写, 返回值和形参都不能改变。即外壳不变,核心重写!重载(Overload)重载(overloading) 是在一个类里面,方法名字相同,而参数不同。返回类型可以相同也可以不同...

2020-10-14 11:41:16 171

原创 Java面向对象

1. 继承继承类型需要注意的是 Java 不支持多继承,但支持多重继承。继承的特性子类拥有父类非 private 的属性、方法。子类可以拥有自己的属性和方法,即子类可以对父类进行扩展。子类可以用自己的方式实现父类的方法。提高了类之间的耦合性(继承的缺点,耦合度高就会造成代码之间的联系越紧密,代码独立性越差)。继承关键字继承可以使用 extends 和 implements 这两个关键字来实现继承,而且所有的类都是继承于 java.lang.Object,当一个类没有继承的两个

2020-10-14 11:38:58 64

原创 java学习笔记一

Java 中主要有如下几种类型的变量局部变量:在方法、构造方法或者语句块中定义的变量被称为局部变量。变量声明和初始化都是在方法中,方法结束后,变量就会自动销毁。成员变量:成员变量是定义在类中,方法体之外的变量。这种变量在创建对象的时候实例化。成员变量可以被类中方法、构造方法和特定类的语句块访问。类变量:类变量也声明在类中,方法体之外,但必须声明为 static 类型。静态变量储存在静态存储区。经常被声明为常量,很少单独使用static声明变量。静态变量在第一次被访问时创建,在程序结束时销毁。.

2020-10-14 10:53:33 62

原创 Android Studio报错

Android studio 配置存储:D:\Program Files\Android\bin\idea.propertiesexpecting a file or a directory注意编译配置的选择更新版本help->check for updates 更新不了,检查是否配置了hosts文件(C:\WINDOWS\system32\drivers\etc)...

2020-10-13 16:40:59 992

空空如也

空空如也

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

TA关注的人

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