![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Java
文章平均质量分 80
qq_28273051
这个作者很懒,什么都没留下…
展开
-
android 打开系统程序 显示系统图片与视频(用于备忘)
转载请标明出处。打开相册和视频跳转到图片与视频显示intent = new Intent(Intent.ACTION_VIEW);//图片和视频intent.setData(MediaStore.Images.Media.EXTERNAL_CONTENT_URI);//等价于intent.setData(Uri.parse("content://media/external/images/media"));//由log输出可以看到: MediaStore.Images.Media.EXTE原创 2021-06-01 15:18:39 · 14422 阅读 · 1 评论 -
Android高级进阶书籍推荐
中级进阶推荐看一下以下这几本书:《Android从入门到精通(附光盘)》 明日科技 编《第一行代码2 Android(第二版)》 郭霖 著《Android开发进阶 从小工到专家 》何红辉 著《Android进阶之光 》刘望舒 著《Android开发艺术探索》 任玉刚 著《Android群英传》 徐宜生 著《疯狂Android讲义 》李刚 著Android高级进阶设计模式有关...原创 2018-08-31 13:55:26 · 3027 阅读 · 1 评论 -
hashmap排序问题
用的最多的HashMap,不保证映射的顺序,特别是它不保证该顺序恒久不变。LinkedHashMap,维持元素的插入顺序。TreeMap中有一个传入比较器的构造函数, Map中的元素可按此比较器进行排序。 以上3个知识点,前2个作为复习,最后一个才是本次使用的重点。要想改变TreeMap的默认比较次序,我们可以在其构造函数中传入一个自己的比较器。TreeMap的比较器构造函数如下: publi...原创 2018-03-14 16:50:35 · 791 阅读 · 1 评论 -
Java 查找两个集合中的相同元素和不同元素
1简单元素的查找一、找到2个集合中相同和不同的元素本文分享的示例代码实现提取2个集合中相同和不同的元素此处需要使用Collection集合所提供的一个方法:removeAll(Cellection list),removeAll方法用于从列表中移除指定collection中包含的所有元素。语法 removeAll(Collection<?> c)c:包含从列表中移除元素的collect...原创 2018-03-13 10:58:11 · 39399 阅读 · 3 评论 -
Android图片压缩方法
android中图片是以bitmap形式存在的,那么bitmap所占内存,直接影响到了应用所占内存大小,首先要知道bitmap所占内存大小计算方式:图片长度 x 图片宽度 x 一个像素点占用的字节数以下是图片的压缩格式:其中,A代表透明度;R代表红色;G代表绿色;B代表蓝色。ALPHA_8 表示8位Alpha位图,即A=8,一个像素点占用1个字节,它没有颜色,只有透明度 ARGB_4444 表示1...原创 2018-03-22 16:29:05 · 265 阅读 · 0 评论 -
Gc垃圾回收算法总结
Java虚拟机(JVM)导语: JVM(Java Virtual Machine)即Java虚拟机,它可以通过类加载器把Class文件加载到自己运行时内存中去执行的虚拟机。虚拟机是运行在操作系统中的,而进程又是操作系统的执行单位,所以当java虚拟机运行的时候,它就是操作系统中的进程实例单位,当它没运行时,可以把它叫做程序。下图是我们Java开发中工作流程,首先,将我们的源代码.java通...原创 2018-03-16 11:30:52 · 311 阅读 · 0 评论 -
Gc回收机制和回收算法解析
前言GC(Garbage Collection),和面向对象一样是java语言的一大特性之一,有了它,不用再像c/c++那样麻烦且频繁地free()和delete()。垃圾回收机制主要作用于java堆(Heap),也就是jvm用于存放对象实例的地方,所以很多时候我们也把java堆成为GC堆。Java的内存管理包括内存分配和内存回收。这两方面工作都是由JVM自动完成的,虽然降低了Java程序员的学习...原创 2018-03-16 11:24:35 · 1471 阅读 · 1 评论 -
HashMap的工作原理
HashMap的工作原理是近年来常见的Java面试题。几乎每个Java程序员都知道HashMap,都知道哪里要用HashMap,知道Hashtable和HashMap之间的区别,那么为何这道面试题如此特殊呢?是因为这道题考察的深度很深。这题经常出现在高级或中高级面试中。投资银行更喜欢问这个问题,甚至会要求你实现HashMap来考察你的编程能力。ConcurrentHashMap和其它同步集合的引入原创 2017-12-07 16:35:56 · 135 阅读 · 0 评论 -
Android7.0 7.1 popupwindow showAsDropDown 显示异常解决办法
Android7.0 popupwindow showAsDropDown在屏幕上方弹出解决方法,通过版本控制解决,这属于Android7.0代码的bug新增:7.1版本问题修复。public static void showAsDropDown(PopupWindow pw, View anchor, int xoff, int yoff) { if (Build原创 2017-09-12 17:34:52 · 854 阅读 · 1 评论 -
java中的WeakReference
java语言中为对象的引用分为了四个级别,分别为 强引用 、软引用、弱引用、虚引用。本文只针对java中的弱引用进行一些分析,如有出入还请多指正。在分析弱引用之前,先阐述一个概念:什么是对象可到达和对象不可到达状态。其实很简单,我举个例子:现在有如下两个类class A class B,在JVM上生成他们两个类的实例分别为 instance a instance b有如下表达原创 2017-09-14 11:56:37 · 226 阅读 · 0 评论 -
android 7.0 适配
项目运行两个礼拜了,相机也在7.0以下运行的完美,突然早上同事拿他的7.0手机给我说 这是一个大bug.我一看调用相机直接崩溃。报的错误如下图:接着我以为是我的文件路径错误,找了老半天没发现问题,仔细想想不太可能了。于是乎,开始求助各大网友了。解决方案:1、(推荐)7.0之后你的app就算有权限,给出一个URI之后手机也认为你没有权限。不用修改原有代码,在Applicati原创 2017-08-28 16:24:42 · 716 阅读 · 0 评论 -
android中invalidate()的自动清屏含义以及屏幕刷新
invalidate()是用来刷新View的,必须是在UI线程中进行工作。比如在修改某个view的显示时,调用invalidate()才能看到重新绘制的界面。invalidate()的调用是把之前的旧的view从主UI线程队列中pop掉。 对于屏幕刷新有以下集中情况可以考虑: 1.不使用多线程和双缓冲 这种情况最简单了,一般只是希望在View发生改变时对UI进行重原创 2017-07-13 09:42:16 · 1067 阅读 · 0 评论 -
Android开发-基本概念小整理(二)为了面试的小伙伴们所准备~~
31. 请描述一下BroadcastReceiver。BroadcastReceiver用于接收并处理广播通知(broadcast announcements)。多数的广播是系统发起的,如地域变换、电量不足、来电短信等。程序也可以播放一个广播。程序可以有任意数量的broadcast receivers来响应它觉得重要的通知。Broadcast receiver可以通过多种方式通知用户: 启动a转载 2016-12-30 16:48:24 · 238 阅读 · 0 评论 -
MeasureSpec介绍及使用详解
在上一节我们使用此方法获取频幕的宽和高,还有控件的大小:在这一节我们来看看你MeasureSpec的功能:invalidate()最后会发起一个View树遍历的请求,并通过执行performTraersal()来响应该请求,performTraersal()正是对View树进行遍历和绘制的核心函数,内部的主体逻辑是判断是否需要重新测量视图大小(measure),是否需要重新布局(lay翻译 2016-12-30 16:29:25 · 383 阅读 · 0 评论 -
Java基础面试题
1、一个".java"源文件中是否可以包括多个类(不是内部类)?有什么限制? 可以有多个类,但只能有一个public的类,并且public的类名必须与文件名相一致。2、Java有没有goto? java中的保留字,现在没有在java中使用。3、说说&和&&的区别。 &和&&都可以用作逻辑与的运算符,表示逻辑与(and),当运算符两边的表达翻译 2016-12-27 10:31:48 · 197 阅读 · 0 评论