![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
android
licx11
这个作者很懒,什么都没留下…
展开
-
android webView webchromeclient 本地图片资源
解决android webView openFileChooser 不能调用本地文件其实主要问题是出现在webChromeClient 的身上,通过查看webChromeClient的源代码我我们知道里面有个openFileChooser函数,不过很可惜,这个函数是不公开的,即使我们使用继承也不能使用这个函数。哈哈,那怎么办呢? 我们还是来看看这个函数具体长成啥样吧。 其实它是这样的 /**原创 2015-05-08 17:57:37 · 919 阅读 · 0 评论 -
死锁
什么是死锁指两个或两个以上的进程在执行过程中,由于竞争资源或者由于彼此通信而造成的一种阻塞的现象,若无外力作用,它们都将无法推进下去。死锁原因 系统资源不足 资源分配不当 进程运行的顺序不合适 死锁的条件操作系统上说,产生死锁的条件有四个: 互斥条件:所谓互斥就是进程在某一时间内独占资源。 请求与保持条件:一个进程因请求资源而阻塞时,对已获得的资源保持不放。 不剥夺条件:进程已获得资源,在末使用完之原创 2016-04-08 18:39:46 · 476 阅读 · 0 评论 -
final, finally, finalize
final final类,意味着它不能再派生出新的子类。所以不能同时使用final和abstract修饰类。 final方法,不能被子类重写。 final变量,使用中不能被修改,使用时必须初始化。 finally与try结合一起使用。try代码块可能不被调用,但是finally中的代码块一定会调用。常在捕获异常后用来做内存释放,流的关闭等操作。finalizefinalize原创 2016-04-08 18:16:17 · 398 阅读 · 0 评论 -
关于java中几个CP的一点说明--stringBuilder和stringBuffer与hashTable和hashMap
java中的几个常见的CP,经常会出现在面试中,下面来总结下:CP 1stringBuffer: 支持并发操作,线性安全的,适 合多线程中使用 stringBuilder: 不支持并发操作,线性不安全的,不适合多线程中使用 意味着在单一线程中stringBuilder的性能要优于stringBuffer CP 2hashTable:支持并发操作,线性安全的,适 合多线程中使用 hashMap原创 2016-04-08 17:58:48 · 456 阅读 · 0 评论 -
简要的谈谈equals与hashcode
如何判断java两个对象相同呢? 首先说说这个问题的由来。我们知道在java中有两个很重要的数据结构,一个是hashset,另一个是hashmap。hashset要求不能出现相同的对象,hashmap要求不能出现相同的key。所以怎么判断两个对象是否是相同呢? 答案就在equals与hashcode两个函数中。 首先说明一下JDK对equals(Object obj)和hashcode()这两原创 2016-04-08 17:30:52 · 473 阅读 · 0 评论 -
从重载与重写来看OOP的三大特性:继承、多态、封装。
什么是重载具有不同参数列表的同名方法,称为重载。类中方法重载的判断标准:参数的类型或参数的个数不同,方法的返回值可以相同也可以不同。重载的规则: 1. 必须具有不同的参数列表(包括参数类型与参数个数); 2. 可以有不同的返回类型,只要参数列表不同就可以了; 3. 可以有不同的访问修饰符; 4. 可以抛出不同的异常;什么是重写如果子类定义了与父类同名的方法,并且具有相同的参数类型和参原创 2016-04-08 17:06:28 · 1246 阅读 · 0 评论 -
对java中synchronized的认识
java synchronized 重新认识 使用原创 2016-04-06 22:47:22 · 474 阅读 · 0 评论 -
Android性能优化(11-16)
Google发布了包含16个短视频的Android性能优化典范专题,详解Android系统中有关性能问题的底层工作原理,并介绍了如何通过工具找出性能问题以及提升性能的建议。本文作者对这些问题和建议进行了总结梳理。 Performance Cost of Memory Leaks虽然Java有自动回收的机制,可是这不意味着Java中不存在内存泄漏的问题,而内存泄漏会很容易导致严重的性能问题。内存泄漏指翻译 2016-03-18 11:04:17 · 431 阅读 · 0 评论 -
文章标题
通过重写FrameLayout 中boolean fitSystemWindows(Rect insets)方法来实现ActionBar的Overlay模式不遮盖顶部的设计通过重写FrameLayout 中boolean fitSystemWindowsRect insets方法来实现ActionBar的Overlay模式不遮盖顶部的设计 应用场景 主要代码 相应的FrameLayout 相应的ac原创 2015-08-19 22:27:32 · 640 阅读 · 0 评论 -
文章标题
三分钟看完Android Support Library 22.1的新特性这里是英文原文博客 俗语云“无码胜有码”,虽然我们并不是真的推荐完全不写代码,但是代码对你的app而言应该有独立的价值,而不是将日常那些支离破碎的代码拷贝在一起。Android Support Library就是帮你完成各种细小功能的最佳资源之一。最新版本的Support库加入和修改了很多组件,包括了Support V4,A翻译 2015-08-19 21:57:50 · 457 阅读 · 0 评论 -
fragment + viewpager+fragment
fragment + viewpager+fragment应用场景:一般用在底部有导航栏顶部也有导航栏的场景中,一般的实现方式是底部的导航栏用framelayout+RadioGroup+RadioButton来处理,顶部的导航栏用viewpager+viewpagerIndicator + fragment来实现,这样就可以拥有很好的交互体验。在处理底部时通过getsupportfragmentm原创 2015-05-05 22:37:03 · 770 阅读 · 1 评论 -
阐述线程状态之间的关系
线程的状态分为:新建状态、就绪状态、运行状态、阻塞状态、死亡状态。我找到一张图片来描述线程的这5个状态,这样看起来更形象。 下面分别阐述。新建状态当使用new创建一个线程时,new Thread(r),这个时候,线程是处理新建状态。就绪状态当我们为新建状态的线程调用Thread.start()后,这个时候线程就处理就绪状态,线程这个时候可能并没有运行,它要等待CPU的时间片,等待系统的调度,等原创 2016-04-08 19:10:11 · 1925 阅读 · 0 评论