5 记忆中的空白

尚未进行身份认证

暂无相关简介

等级
TA的排名 24w+

ViewGroup为什么不会调用onDraw

转自:https://blog.csdn.net/leehong2005/article/details/7299471正常情况下,我们重写LinearLayout的onDraw方法,它是不会被调用的,这篇文章就来分析一下原因和解决方法。一,现象<com.test.demo.MyLinearLayout xmlns:android="http://schemas.android....

2019-06-25 16:16:21

线程和AsyncTask基本概念已经使用

线程是程序最小的调度单位,在同一进程中的资源是共享的,可以理解为:多线程可以同享同一个变量,但是需要注意线程安全问题,小心会产生售票问题弊端:创建大量线程容易消耗完系统内存以及导致cpu的频繁切换造成系统死机实现线程的方法:一、一种是类继承Thread二、一种是实现接口RunnableThread调用方法:Thread thread=new Thread();1、thr...

2019-04-18 11:20:48

android屏幕适配基本概念

今天我们先讲讲屏幕适配中基本概念:分辨率分辨率通常表示为:横轴像素长度*粽轴像素长度 例如:1080*1920pxpx全称为Pixel,是手机像素上的一个物理像素点,即1px就是一个像素点。dpidpi全称为Dots per inch ,被称为像素密度,代表一英寸里面有多少个像素点,计算公式为:dpi=屏幕对角线长度/屏幕尺寸dpi=2203px/5寸=440...

2019-04-08 17:04:43

rxJava 操作符相似concat 、merge、zip

区别concat:组合多个被观察者一起发送数据,合并后按顺序串行执行merge:组合多个被观察者一起发送数据,合并后按时间线并行执行concat(合并)使用一个发射器把两个发射器连接成一个发射器concat() / concatArray()的区别:concat()组合被观察者数量<=4,concatArray()组合被观察者>4concat和merge的简...

2019-04-08 09:43:03

rxJava线程切换

RxJava线程类型:Schedulers.io()非cpu密集型适合查找文件,网络请求,访问数据库等耗时操作,线程数量无限制会导致线程无限增长。Schedulers.newThread()每次都会创建新的线程(线程的创建和销毁都是很耗性能的),需要慎用,一般可以用在长时间运行在后台,而不会频繁创建的操作。Schedulers.computation()cpu密集型用于处理...

2019-04-03 17:15:59

java判断两个对象是否是同一个对象

比较两个对象是否相等,主要通过equals()和hashCode()equals()方法 hashCode()方法 equals()和hashCode()在hashSet中使用一、equals()equals()是Object中的方法,比较的对象的内存地址(如图一)。Object源码但是也有的类重写了equals()方法,比较的内容是否相等。例如:String 、Math、Int...

2019-02-26 14:57:44

强引用,弱引用,软引用

java 4中引用的级别有高到底依次:强引用>软引用>弱引用>虚引用这篇文章就先来讲讲强引用、软引用、弱引用强引用(Strong Reference)强引用是使用普遍的引用,如果一个对象具有强引用,那么java回收器不会被回收它,当内存不足时,java虚拟机宁愿抛出outOfMemoryError错误,使程序异常终止,也不会靠随意回收具有强引用的对象。如果这个强引用是作...

2019-02-21 11:04:51

fragment解析

fragment 主要方法:onAttach(Activity activity)onAttach(Context context)当fragment与Activity发生关联时调用,我们可以在此方法中通过getArguments()获取传入的Bundle参数使用fragment时,一般不要使用getActivity()而是在此方法中 activity= (Activity) contex...

2019-01-28 16:37:36

判断是不是同一个对象

用“==”比较的是引用的地址,用equals比较的就是值判断是不是同一个对象 和他们的引用有联系需要判断引用是不是同一个如果引用相同,则说明是同一个对象,如果引用不同,即使这2个对象里的属性值相同,它们也是不同的对象Object a = new Object();Object b = new Object();判断是否是同一个对象 if(a==b){ System.out.pr...

2019-01-28 14:24:01

Warning: org.codehaus.jackson.xc.JaxbAnnotationIntrospector: can't find referenced class javax

Note: there were 560 duplicate class definitions.      (http://proguard.sourceforge.net/manual/troubleshooting.html#duplicateclass)Warning: org.codehaus.jackson.jaxrs.JacksonJsonProvider: can't find...

2019-01-21 11:45:04

Warning: org.bouncycastle.jce.provider.X509LDAPCertStoreSpi: can't find referenced class javax

Warning: org.bouncycastle.jce.provider.X509LDAPCertStoreSpi: can't find referenced class javax.naming.NamingEnumerationWarning: org.bouncycastle.jce.provider.X509LDAPCertStoreSpi: can't find referenc...

2019-01-21 11:40:11

为什么有时候启动Activity需要加FLAG_ACTIVITY_NEW_TASK

转自:https://blog.csdn.net/dct8888/article/details/52064160 问题描述:我们通过广播来启动Activity的时候如果不设置intent的FLAG_ACTIVITY_NEW_TASK属性,就会报这个异常:android.util.AndroidRuntimeException: Calling startActivity() from...

2018-11-27 14:10:32

apk瘦身以及启动速度优化

一、apk瘦身1、minifyEnabled true,可以帮助移除那些在程序中使用不到的代码。如下图:2、shrinkResources true移除那些在程序中使用不到的资源,帮助减少APP的安装包大小。 二、apk启动速度优化:在application的onCreate()中初始化组件很容易阻塞程序启动,特别需要留意包含IO操作,网络访问等严重耗时的任务解决方案...

2018-11-21 16:38:48

android ActionBar介绍

最近在使用actionBar的时候发现,把activity主题设置android:theme="@style/Theme.AppCompat" activity继承Activity后,获取actionBar始终为null,带着不解仔细检查Activity并没有去掉Title或者去掉ActionBar的设置。百度一波后发现ActionBar在android 3.0(SDK  11)开始出现。要想...

2018-11-16 17:02:50

android 获取渠道号

上文我已经说过,我们采用的打渠道包的方式是在apk文件中写入一个空的文件来标识不同的渠道包,这也是大多数打渠道包的原理。把渠道包解压之后,在META-INF文件夹下就会多出以下框框的中文件:既然我们已经写入了文件,下面就是要怎么读取这个文件和截取渠道号了。代码如下:public static String getChannelName(){String sourceDir = T...

2018-11-01 14:26:05

android v2签名、渠道包安装失败

android 7.0开始增加了v2签名,能够加速app的安装结束。v2签名机制:v2是android 7.0开始引入,使用SHA256哈希值校验,会对每个文件的二进制字节进行校验,对应用提供更安全的保护,不管签名后对文件做了任何修改,都会导致在android 7.0以上的机型安装失败(提示改安装包未包含任何证书),v2签名在编译的过程中,将会压缩,调整和签署合并成一步完成,可以缩短apk在设...

2018-11-01 13:49:20

RecyclerView Item 布局宽高无效问题探究

转自:https://juejin.im/entry/5979349e5188253def54b052

2018-10-12 16:46:34

Android Studio运行app时提示Please select Android SDK

转自:https://blog.csdn.net/wilschan0201/article/details/73251285发现并不能点“Run”键运行app,并报错Error:Please select Android SDK: 最后在File->Project Structure中将Build tools version修改,问题解决。...

2018-10-12 15:47:22

Webview下载apk

 方法一:使用手机内置的浏览器下载webView设置DownloadListener监听webView.setDownloadListener(new DownloadListener() { @Override public void onDownloadStart(String s, String s1, String s2, String s3, long l) {...

2018-10-09 10:05:34

android 调用系统浏览器

方法一:Intent intent = new Intent();intent.setAction("android.intent.action.VIEW");intent.addCategory(Intent.CATEGORY_BROWSABLE);Uri contentUri = Uri.parse(url);intent.setData(contentUri);int...

2018-10-08 23:01:13

查看更多

勋章 我的勋章
  • 勤写标兵Lv1
    勤写标兵Lv1
    授予每个自然周发布1篇到3篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。