自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

原创 APP冷启动优化

原则: 初始化过程,按需初始化,不是必须的就往后挪。 避免长时间的同步操作。 用户操作感知及时性。 1.检测有些第三方的包,可以在启动后在初始化。2.可以把耗时初始化放到子线程操作,创建一个线程池。3.不要在onCreate()创建对象等操作。...

2020-06-21 19:35:35 28

原创 理解 ClassLoader

类加载也是高频面试话题,系统提供的一般有:引导类加载器(Bootstrap ClassLoader)、拓展类加载器(Extensions ClassLoader)、应用程序类加载器(Application ClassLoader)。除此之外也可以自定义类加载器接下来是一个高频面试点:双亲委托模式:类加载器查找 Class 所采用的是双亲委托模式,所谓双亲委托模式就是,首先判断该 Cla...

2020-04-20 11:56:16 63

原创 安卓适配的面试题

先抛出几个面试题:1.在Android 开发的时候,对于 UI 稿的 px 是如何适配的?答案:把 px 转化成 dp 在进行适配,在安卓中官方是这样定义dp 的 dp = dip/160, dip 是像素密度,不同分辨率下 dpi 是不一样的dpi:屏幕像素密度,指的是在系统软件上指定的单位尺寸的像素数量,它往往是写在系统出厂配置文件的一个固定值;ppi:也是屏幕像素密度...

2020-04-15 15:25:58 123 1

原创 HashMap面试知识点

1.hashMap HashTable hashSet 区别2.hashMap为什么线程不安全。多线程下可能有哪些问题?答案:https://www.jianshu.com/p/e6367828631a2个put会同时扩容造成死循环(链表有环)可能有2个同时put,导致1个丢失,被后面的put覆盖了。一种情况是2个线程,1存1取,A刚存完key1value1,还没等B取值...

2020-04-15 09:44:23 135

原创 APK瘦身

APK瘦身:1. 减少 Assets 目录下的文件,有的html可以通过接口获取2. 删除无用so文件,根据CPU引入so文件3. 压缩图片,使用webp格式下的图片4.混淆5.压缩APK6.打包剔除无用资源7.动态下载图片分目录放置图片:不同分辨率的图片应该放到不同的目录下面,如果放错了图片,对于APP运行时内存大小有一定影响。如果把一个本来应该放在...

2020-04-15 09:42:17 89

原创 JVM、内存相关问题

在 Java 中可以作为GC Roots 的对象主要有以下几种:1.Java 栈中引用对象。2.本地方法栈中 JNI 引用的对象。3.方法区中运行时常量池引用的对象。4.方法区中静态属性引用的对象。5.运行中的线程6.由引导类加载器加载的对象7.GC控制的对象...

2020-03-26 12:36:45 117

原创 View怎么显示在界面上的

View怎么显示在界面上的,其实面试官想问Activity 与 Window 与 View 之间的关系,把这三者间的问题说清楚,在总结一下其实就差不多了,可以在把LayoutInflater.from(mContext).inflate(resId, contentParent) 讲讲,基本上达到面试官的期望值了。先创建 Activity ,然后再Activity 中创建一个Ph...

2020-03-24 16:30:02 145

原创 volatile相关面试点

目录并发编程的三个重要特性1.volatile 的原子性、可见性、有序性2.volatile 深入解析3.volatile 和 synchronized并发编程的三个重要特性1. 原子性:在一次操作或者多次操作中,要么所有的操作全部得到执行并且不会受到任何因素的干扰而中断,要么所有的操作都不执行。2. 可见性:当一个线程对共享变量进行了...

2020-03-08 13:23:19 58

原创 Handler 面试相关

Handler机制整体流程;Looper.loop()为什么不会阻塞主线程;IdHandler(闲时机制);postDelay()的具体实现;post()与sendMessage()区别;使用Handler需要注意什么问题,怎么解决的?https://www.jianshu.com/p/a77af781f678第一个问题?loop在没有消息的时候会沉眠,释放CPU,只有在有消息的时候在...

2020-03-07 17:55:18 142

原创 在MAC上配置flutter的环境

1.下载flutter推荐去官网下载,速度并不慢,网址:https://flutter.io/setup-macos/2.配置环境变量先把刚才下载的flutter_macos_vxxx.zip解压缩,笔者选择使用的目录是根目录下的APP文件夹。这个路径要用到。配置环境变量,这里笔者使用命令行:vim ~/.bash_profile这会看到搜出来的目录,不过这时候是...

2020-02-26 16:15:26 62

原创 Flutter 常见错误

1.执行packages get的时候出现Waiting for another flutter command to release the startup lock...问题解决办法:进入到你的flutter sdk目录中,然后找到bin/cache/lockfile文件,删除它即可。...

2019-12-14 14:59:18 53

原创 在windows上搭建flutter开发环境

1.先搭建安卓的开发环境,这个就不多少了2.下载flutter的SDK,放到你想要放的文件夹中,我一般都是在D盘中新建flutterSDK文件件放置下载链接https://flutter.dev/docs/development/tools/sdk/releases#windows取最新版本下载3.在Flutter安装目录的flutter文件下找到flutter_console.ba...

2019-10-26 11:47:06 73

原创 在Windows上搭建 dart 环境

本人是安卓开发,搭建java环境和安卓环境这里就不多说了先去中文网了解一下:https://flutterchina.club/get-started/install/下载获取Flutter SDK:下载地址:https://flutter.dev/docs/development/tools/sdk/releases如果不能翻墙可以直接在github上下载:https://githu...

2019-08-27 19:29:44 146

原创 接入环信的时候自带百度地图,调用百度DistanceUtil.getDistance()死机

最新在调用百度地图接口DistanceUtil.getDistance()计算2点之间的距离,会死机java.lang.UnsatisfiedLinkError: Native method not found: com.baidu.platform.comjni.tools.JNITools.CoordinateEncryptEx:(FFLjava/lang/String;Ljava/la...

2019-05-14 08:31:20 272

原创 记录一个错误,Studio中导入model不显示

出现这个问题:Unable to find module with Gradle path ':commons' (needed by module 'app'.)遇到这样的问题,首先将项目中.iml文件删除,让其重新生成将implementation project(':commons') 先注释进入settings.gradle 文件include ':app', ':com...

2019-04-30 09:22:24 133

原创 java.net.UnknownServiceException: CLEARTEXT communication to wanandroid.com not permitted by network

java.net.UnknownServiceException: CLEARTEXT communication to wanandroid.com not permitted by network 这个错误是在安卓P系统上当调用远程接口进行网络通信时报的错误。这是因为新的保护机制对于仅使用安全通信的应用,Android 6.0 Marshmallow(API 级别 23)引入了两种机制...

2019-02-22 15:47:37 601 1

原创 记录一个错误

错误: 找不到符号         View root = LayoutInflater.from(getContext()).inflate(R.layout.refresh_layout, this, true);这种一般都是R文件导错导致的

2019-02-22 15:20:57 58

原创 解决studio引入第三方库出现的Androidmanifest冲突问题

错误如下:/Users/fly/Downloads/ComponentBased/app/src/main/AndroidManifest.xml:6:5-42:19 Error: tools:replace specified at line:6 for attribute android:appComponentFactory, but no new value specified/...

2019-01-21 14:39:45 8574 4

原创 创建一个SpringBoot+MyBatis项目

新建一个Spring Initializr项目: 创建项目的文件结构以及jdk的版本: 选择项目所需要的依赖:然后下一步下一步点完成就好了。创建.ymlwenj文件:新创建一个.yml文件,选中resources右键选择File,写入xxx.yml就好了创建好.yml文件后,把默认创建的propertieswenj文件删掉就好了a...

2019-01-19 17:58:45 78

原创 android library中引入aar提示找不到

这是今天依赖的时候出现的错误这是项目结构:解决方案:除了在library的build.gradle中加入repositories {    flatDir {        dirs 'libs'    }}!!!!!!注意注意:还需要在application的build.gralde中加入:repositories {    …………    flatDi...

2019-01-17 10:28:42 2559

原创 RecyclerView嵌套FlowTabLayout显示不全的问题

在项目中用到的RecyclerView嵌套FlowTabLayout(流式布局),FlowTabLayout显示不全的问题,这里主要是布局的问题,RecyclerView的item的布局写成下面这样,就可以了:<?xml version="1.0" encoding="utf-8"?><RelativeLayout xmlns:android="http://sche...

2018-12-31 18:02:36 247

原创 使用SwipRefreshLayout控件快速下拉,控件消失的问题

在使用SwipeRefreshLayout下拉刷新控件,以及 BRVAH 库中的加载更多时,一页数据不满一屏时,多次快速下拉刷新,会出现下拉控件消失,再次下拉,控件无法显示出来的bug。 问题原因:SwipeRefreshLayout.setEnabled(false),这里取消了动画,不会回调下拉刷新,但是SwipeRefreshLayout.mRefreshing仍true,导致下...

2018-12-31 17:52:49 128

转载 Android Studio中将moudle项目打包成aar文件

转载:https://blog.csdn.net/cangahi09025566/article/details/80278129为了方便以后好寻找,转载一篇文章在android开发中,我们有时候需要将一个项目作为一个依赖,并且能够使用其资源文件和界面,这个时候就需要将我们创建的moudle打包成一个aar文件.具体打包步骤如下:将moudle打包成aar包1、创建一个moudle...

2018-12-31 16:38:40 164

原创 记录IDEA (Intellij IDEA) (Android Studio) 的一个错误

Run configuration Error:Broken configuration due to unavailable plugin... 问题描述:昨天晚上的IDEA还一切正常,但是下午再打开的时候发现我的studio不能用了,显示错误 Run configuration Error:Broken configuration due to unavailable plugin o...

2018-12-29 10:02:29 196

原创 程序执行过程中堆内存的简单分析

JAVA语言中除基本类型之外的变量类型,都称之为引用类型。JAVA中对象是通过引用reference对其操作的。新建对象时,引用类型的数据都是null,基本数据类型 int 是 0 string 是null boolean 是false (默认初始化)方法:参数传递的值是 值传递。局部变量 必须初始化,成员变量会被系统默认初始化。栈:自动分配连续的空间,后进先出,一般用来放...

2018-12-09 10:24:51 130

原创 see the compiler error output for details

Compilation failed; see the compiler error output for details: 这个错误一般是引入的库的版过国道导致的

2018-11-26 15:30:10 543 1

原创 多态

多态:可以理解为事物存在的多种体现形态。父类的引用指向子类的对象。1.多态的体现 父类的引用指向子类的对象,父类的引用接收子类的对象。2.多态的前提 类与类之间必须是继承或者实现的关系。通常还有一个前提 就是覆盖3.多态的好处 大大的提高了程序的扩展性4.多态的弊端 提高了扩展性,但是只能使用父类的引用访问父类中的成员。5.多态的应用6.多态中成员的特点 ...

2018-11-11 11:22:38 54

原创 接口:interface

接口:interface,如果抽象类中的方法都是抽象的,那么该类可以通过接口的形式来表示。接口定义的一组规范,实现现实世界中这样的逻辑 :如果你是。。。则必须能。。。class用于定义类,interface用于定义接口接口的特点:1.接口中常见定义:常量,抽象方法。2.接口中的成员都有固定修饰符常量 public static final方法 public abstract接...

2018-11-11 11:18:02 50

原创 抽象类:abstract

抽象类:abstract。当多个类中出现相同功能,但是功能主体不同,这时候可以进行向上抽取,只抽取功能定义,而不抽取功能主体。,分析事物不确定时,就抽象特点1.抽象方法只能定义在抽象类中。2.抽象方法和抽象类必须被abstract修饰3.抽象类不可以用new 创建对象,因为创建对象没有意义4.抽象类中的抽象方法要被使用,必须由子类复写抽象方法后,建立子类对象调用,如果子类只覆盖了部...

2018-11-11 11:15:20 97

原创 static 关键字

static 关键字用法:是一个修饰符,只能用于修饰成员(成员变量和成员函数)静态变量 :在类中,用static声明的成员变量为静态成员变量,或者叫做类属性、类变量。 -- 它为该类的公用变量,属于类,被该类的所有实例共享,在类被载入时,被显示初始化。 -- 对于该类的所有对象来说,static成员变量只有一份,被该类的所有对象共享!! -- 可以使用“对象.类属性”来调用,不...

2018-11-11 11:11:53 70

原创 成员变量和局部变量

成员变量和局部变量1、局部变量 定义在方法内或者语句块内 从属于方法或者语句块 使用之前,必须手动初始化。2、成员变量 定义在类里面、方法外面。从属于对象 如果没有手动初始化成员变量,系统会自动初始化。初始化的规则如下: 数字:0,0.0 布尔 false char \u0000 引用类型 :null。匿名对象的应用匿名对象时对象的简化形式;...

2018-11-11 10:55:34 54

原创 重载与重写

方法的重载overload是指一个类中可以定义有相同的名字,但是参数列表不同,调用时,会根据不同的参数列表选择对应的方法。所以只和参数列表有关系。规则:两同三不同 --同一个类,同一个方法名 --不同:参数列表不同(类型、个数、顺序不同) --只有返回值不同不能构成方法的重载 --只有形参的名称不同,不能构成方法的重载什么时候用重载?当定义的功能相同,但参与运算的未知内容...

2018-11-11 10:49:38 54

原创 简单聊一下《垃圾回收机制》

内存机制栈1.存放局部变量2.不可以被多个线程共享3.空间连续,速度快堆1.存放对象2.可以被多个线程共享3.空间不连续,速度慢,但是灵活方法区1.存放类的信息:代码、静态变量、字符串常量等等2.可以被多个线程共享3.空间不连续,速度慢,但是灵活垃圾回收机制Garbage Collection对象空间的分配:使用new关键字创建对象即可对象空间的释放:将对象赋值...

2018-11-11 10:47:32 99

原创 线程的理解

1.线程是一个程序里面不同的执行路径.也就是一个程序往多条道路多个方向同时执行(执行路径).2.进程是一个静态的概念,进程指的是程序本身.当把程序代码加载进内存的时候,只是说明进程已经准备开始了,也就是说进程已经产生了,但是没有开始,所以说进程是一个静态的概念.    平时所说的进程的执行指的是进程里面的主线程已经开始执行了,也就是main方法开始执行了.然后再main方法里面分支其他的线程...

2018-11-11 10:32:28 56

原创 JAVA加强

1. 下载JDK(Java Development Kit,Java开发包)2. JRE(Java Runtime Environment,Java运行时环境)3. JDK包含了JRE。4. 关于Java的版本:JDK 1.4JDK 1.5 == JDK 5.0, tiger (老虎)JDK 1.6 == JDK 6.0, mustang(野马)5.我们的课程讲的是JD...

2018-11-11 10:29:09 84

原创 JavaSE基础(面试)

面向对象基础 JAVA基础语法自行掌握. 三大特性:  一 封装:★★★★★  概念:是指隐藏对象的属性和实现细节,仅对外提供公共访问方式。 好处:将变化隔离;便于使用;提高重用性;安全性。   封装原则:将不需要对外提供的内容都隐藏起来,把属性都隐藏,提供公共方法对其访问。  单例设计模式:★★★★★(必问的)解决的问题:保证一个类在内存中的对象唯一性。 ...

2018-11-11 10:16:57 56

原创 Connections could not be acquired from the underlying database!

Could not get JDBC Connection; nested exception is java.sql.SQLException: Connections could not be acquired from the underlying database! 今天写单元测试的时候遇到的数据库问题,百度可能会有各种各样的答案,但是我这个是因为,MySQL数据库版本不一致导...

2018-09-06 17:38:55 703

原创 Sql文件怎么导入数据库中

 打开navicat:找到对应的sql文件运行就好了或者在idea中关联对应的数据库:然后右键运行就好了

2018-09-05 16:32:49 1064

原创 使用idea导入maven项目

1.或者2.开始导入 3.输入需要导入pom文件的路径4.接下来,下一步下一步完成就好了

2018-09-05 15:56:34 207

原创 MyBatis插件generator的使用(idea)

1.先创建一个maven项目在pom下依赖插件库:<!--mybatis 插件--><plugin> <groupId>org.mybatis.generator</groupId> <artifactId>mybatis-generator-maven-plugin</artifactId> ...

2018-08-28 12:47:02 123

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