自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(14)
  • 问答 (1)
  • 收藏
  • 关注

原创 Handler、Looper、MessageQueue知识点及工作原理简单介绍

文章目录子线程更新UI的几种方法子线程使用Handler和Looper为什么必须调用Looper.prepare()/Looper.loop()Handler/Looper/MessageQueue之间的关系1、为什么Android主线程可以直接创建Handler2、为什么在Activity中使用匿名内部类创建Handler会导致内存泄漏HandlerThread1、HandlerThread的简单使用2、HandlerThread原理分析子线程更新UI的几种方法1、使用Handler2、Ac

2020-06-20 11:05:59 355

原创 简单聊一聊Android中的Bitmap与Drawable

文章目录Bitmap占用多少内存单个像素占用字节Bitmap内存优化(1)关于 inSampleSize 参数(2)Bitmap内存管理不同Android版本Bitmap的内存模型Bitmap & Drawable1、Bitmap与Drawable区别2、Bitmap与Drawable转换(1) Bitmap => Drawable(2) Drawable => Bitmap一些其他小知识1、mipmap文件夹作用2、drawable-xxx文件夹说明Bitmap占用多少内存Bitm

2020-05-21 22:51:15 640

原创 Android事件分发机制

文章目录一、Android事件分发机制结论二、重要方法说明2.1 ViewGroup.dispatchTouchEvent()2.2 ViewGroup.onInterceptTouchEvent()2.3 View.dispatchTouchEvent()2.4 View.onTouchEvent()三、源码分析3.1 事件传递流程3.1.1 Activity.dispatchTouchEven...

2020-02-29 13:01:12 169

原创 android中常用的gradle知识点

文章目录1、ext的使用和对每个module下的build.gradle就是一个Project对象的理解2、在build.gradle中使用签名文件3、Android Gradle编译时动态配置的属性(1)动态设置android resValue(string等值)(2) 使用manifestPlaceholders改变(也可以改变其他标签)(3) 更改BuildConfig文件(4) 设置打包忽...

2019-10-27 10:38:18 454

原创 下载Android源码,提示:fatal: unable to access 'https://gerrit.googlesource.com/git-repo/': Failed to connec

记一次Android源码下载遇到的坑注:这里的网络都是科学上网后的按照Android官网源码下载(需要科学上网访问)进行操作时,执行到如下命令repo init -u https://android.googlesource.com/platform/manifest出现如下错误:fatal: unable to access 'https://gerrit.googlesource....

2019-07-31 09:43:54 4243

原创 MacBook Pro(macOS MoJave 10.14.4)编译Android Pie源码

文章目录步骤1、在Mac上创建指定文件格式的分区2、下载Android源码3、编译Android源码遇到的问题1、case-insensitive2、internal error: could not find a supported mac sdk: ["10.10" "10.11" "10.12" "10.13"]步骤在Mac上创建分区,选择mac os 扩展(区分大小写,日志模式)。我...

2019-05-31 08:47:25 935

原创 Android多Module开发,最终打包成一个aar对外提供

文章目录前言问题解决方案前言现在通过Android Studio进行多Module开发已经非常常见了,除了方便我们分离项目业务,还可以很好的实现基础代码的复用问题我们在多Module开发后,如果是直接打包apk还好,直接可以通过gradle命令或者通过AS图形化界面就可以实现打包apk;但是如果我们只是为了提供一个功能模块,方便其他开发人员接入呢,我们使用了多个Module,能不能最终只对...

2019-04-06 16:09:57 6470 2

原创 android中常用的gradle知识点

下面是针对android开发过程中经常使用到的gradle知识点进行的总结和汇总1、ext的使用和对每个module下的build.gradle就是一个Project对象的理解    项目中目录结构如下:我们可以在项目根目录的build.gradle中添加如下代码:ext { date = new Date().format("yyyyMMdd") author = "BornLo...

2018-07-01 10:18:42 228

原创 Android Gradle使用笔记(持续更新)

1、我们一般会用Jenkins这样的平台进行打包,使用gradle时就需要先执行android studio的 assembleRelease的task 此时我们可以通过gradle的任务依赖来实现testTask (dependsOn: "assembleRelease") {//do some actions}此时我们的testTask如果是在APP modu...

2018-06-30 17:38:09 1428 1

原创 gradle和gradlew的区别

对于刚接触gradle的同学或许电脑中配置gradle环境变量后,并没注意到这两个区别配置好gradle环境变量后(配置环境变量这里就不说了,可以自行百度),我们就可以在cmd中使用gradle命令了在cmd中输入:gradle -v输出如下:这时说明gradle的环境变量配置好了,可以使用gradle的命令了接下来说下gradlew:我们在新建的目录下...

2018-06-30 17:08:55 23182 5

原创 置顶TabLayout配合动态高度ViewPager效果实现

置顶TabLayout配合动态ViewPager效果实现

2017-12-17 10:21:01 1693

原创 ViewPager之可变高度ViewPager

项目中用到动态高度的ViewPager,为了加强记忆,自己也仿着写个效果来 原理: ViewPager默认是每个页面相同高度的,我们要改变其页面的高度,自然就要在其显示某个页面的时候调用其(ViewPager)的onMeasure方法。本文基于这个观点,在每次选择页面后将当前页面(Fragment)的rootView传递到ViewPager中,让ViewPager根据该roo

2017-12-16 22:31:38 598

原创 关于ListView中CheckBox选择混乱的问题

遇到了这个问题,记录下,方便以后查看,也让道友们看看 先上整体代码 public class MainActivity extends AppCompatActivity { private ListView listView; private List<Entity> list; @Override protected void onCreate(Bundle sa

2017-06-15 23:59:32 274

原创 静态内部类实现单例模式

静态内部类实现单例模式1、类中代码块和静态代码块的执行 测试的内部类和外部类public class TestNestedClass { static String name = "name"; { System.out.println("外部类非静态代码块执行"); } static{ System.out.println("外部类

2017-03-30 15:55:49 628

空空如也

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

TA关注的人

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