自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Android 关于根据listview中item子项的数量来设置listview的高度以及view的测量方法

根据listview中item子项的数量来设置listview的高度,这种方式在弹窗模式下比较常用,我们不希望弹窗的高度是一个定值,这样如果listview的item数量比较少,不能利用弹窗的剩余空间,如果高度设为wrap_content,弹窗的高度会随着listview的item数量增大而增大这样可以动态的设置listview的高度,并且可设置最大高度关于根据listview中item子...

2020-04-20 11:38:24 626

原创 Android 关于AlarmManager的解析和使用

一、关于AlarmManagerAlarmManager类提供对系统警报服务的访问。这些允许您安排应用程序在将来的某个时间运行。当警报响起时,Intent系统会广播为其注册的警报,如果目标应用程序尚未运行,则会自动启动它。设备处于休眠状态时会保留已注册的警报(如果设备在此期间关闭,则可以选择将设备唤醒),但如果设备关闭并重新启动,则会清除AlarmManager的任务。AlarmManag...

2020-04-15 11:03:07 1934

原创 Android 关于操作联系人数据库的实际问题的解析和处理

一,联系人数据库联系人数据库路径:/data/data/com.android.providers.contacts/databases/contact2.db联系人数据库中的表非常多,但实际要用到的比较重要的有4张表:contacts、data、mimetypes和raw_contacts1、contacts表display_name: 联系人名称photo_id:头像的I...

2020-04-15 10:20:25 747

原创 Android 关于span实际使用中问题的解析和处理

关于span实际使用中问题的解析和处理一、getSpans()public <T> T[] getSpans(int start, int end, Class<T> type);该方法返回的是起始位置start到终止位置end范围内的text所包含的所有span格式的span数组,文本包含几个span,数组里就会有几个span,且每个span会有一个特定的i...

2020-04-14 18:20:09 1087 1

原创 Android 8.0以后使用后台Service服务JobIntentService的使用

由于Android8.0以后不能使用后台服务,使用Service需要使用ContextCompat.startForegroundService启动前台服务,而且通知栏有Notification显示该Service正在运行,这可能会带来不好的用户体验。如果还是希望使用服务在后台默默工作,通过使用服务开启子进程等等,可以使用JobIntentService。下面的具体的代码:public cla...

2020-04-14 15:34:47 1972

原创 垃圾回收的优点和原理 并考虑2种回收机制

java语言中一个显著的特点就是引入了垃圾回收机制,使c++程序员最头疼的内存管理的问题迎刃而解。它使得java程序员在编写程序的时候不再需要考虑内存管理。由于有个垃圾回收机制,java中的对象不再有“作用域”的概念,只有对象的引用才有作用域。垃圾回收可以有效的防止内存泄漏,有效的使用可以使用的内存。垃圾回收器通常是作为一个单独的低级别的线程运行,不可预知的情况下对内存堆中已经死亡的或者长时间

2017-09-15 19:09:51 3112

原创 Java中的异常处理机制的简单原理和应用

当java程序违反了java的语义规则时,java虚拟机就会将发生的错误表示为一个异常。违反语义规则包括2种情况。一种是java类库内置的语义检查。例如数组下标越界,会引发IndexOutOfBoundsException;

2017-09-15 16:50:31 246

原创 jsp中静态INCLUDE与动态INCLUDE的区别

动态INCLUDE用jsp:include动作实现它总是会检查所含文件中的变化,适合用于包含动态页面,并且可以带参数。静态INCLUDE用include伪码实现,不会检查所含文件的变化,适用于包含静态页面:

2017-09-15 16:40:49 398

原创 sleep()和wait()的区别

sleep是线程类(Thread)的方法,导致此线程暂停执行制定时间,给执行机会给其他线程,但是监控状态依然保持,到时后自动恢复,调用sleep不会释放对象锁wait是Object类的方法,对此对象调用wait方法导致本线程放弃对象锁,进入等待此对象的等待锁定池,只有针对此对象发出notify方法(或notifyAll)后本线程才进入对象锁定池准备获得对象锁进入运行状态。

2017-09-14 14:14:30 185

原创 final,finally,finalize的区别

final用于声明属性、方法和类,分别表示属性不可变,方法不可覆盖,类不可继承。finally是异常处理语句结构的一部分,表示总是执行。finalize是Object类的一个方法,在垃圾收集器执行的时候会调用被回收对象的此方法,可以覆盖此方法提供垃圾收集时的其他资源的回收,例如关闭文件等。

2017-09-14 14:00:18 184

原创 HashMap和Hashtable的区别

HashMap是Hashtable的轻量级实现(非线程安全的实现),他们都完成了Map接口,主要区别在于HashMap允许空键值,由于非线程安全,效率上可能高于Hashtable。HashMap允许将null作为一个entry的key或者value,而Hashtable不允许。HashMap把Hashtable的contains方法去掉了,改成containvalue和containkey

2017-09-14 13:57:35 226

原创 Collection和Collections的区别以及&和&&的区别

Collection是集合类的上级接口,继承与他的接口主要有Set和List。Collections是针对集合类的一个帮助类,它提供一些列静态方法实现对各种集合的搜索、排序、线程安全化等操作。Collections没有实现任何接口,它直接继承了Object。&是位运算符,表示按位与运算,&&是逻辑运算符,表示逻辑与(and)另外,&也可以用于逻辑运算,与&&的区别在于&是非

2017-09-14 13:36:33 484

原创 ArrayList,Vector,LinkedList的存储性能和特性

ArrayList和Vector都是使用数组的方式存储数据,此数组元素数大于实际存储的数据以便增加和插入元素,它们都允许直接按序号索引元素,但是插入元素要涉及数组元素的移动等内存操作,所以索引数据快但插入数据慢,Vector由于使用了synchronized方法(线程安全),通常性能上比较ArrayList差。而linkedList使用双向链表实现存储,按序号索引数据需要进行前向和后向遍历,但

2017-09-14 13:33:56 335

原创 Servlet的生命周期 Servlet和CGI的区别

servlet有良好的生存期定义,包括加载和实例化、初始化、处理请求以及服务结束。这个生存期由javax.servlet.Servlet接口的initial,service和destroy方法表达。Servlet被服务器实例化后,容器运行其init方法,请求到达时运行启service方法,service方法自动派遣运行与请求对应的doXXX方法(doGet doPost)等,当服务器决定将实例

2017-09-14 13:11:40 330

原创 int和Integer的区别 String和StringBuffer的区别

Java提供两种不同的类型:引用类型和原始类型(内置类型)。Int是java的原始数据类型,Integer是java为int提供的封装类。Java为每个原始数据类型提供了封装类。其中原始数据类型封装类有booleanBoolean  charCharacter  byteByte shortShort  intInteger  longLong  floatFloat  doubleBou

2017-09-14 12:46:50 5341

空空如也

空空如也

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

TA关注的人

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