关闭

Android 屏幕适配

这篇文章洋洋洒洒,讲了很多主要的内容如下: 第二章,介绍了dpi、px、dp以及ppi的概念。 第三章,主要介绍了Android的实际dpi(ppi)和我们平时接触的dpi的区别。 第四章,介绍了Android查找资源的原理。 第五章,重点介绍了dpi及像素这两个资源的优选过程。 第六章,讲解了讲解了几种适配方案,以及如快速适配。 第七章,讲解了几个比较实用的工具。 如果你只想知道如何做,就从第五章开始看。...
阅读(976) 评论(2)

ImageView (一) ——从源码的角度分析ScaleType (缩放模式)

第一章直接进行一个各个模式比较的表格。第二章将具体将每个例子进行编写demo并且截图处理。第三章将从源码的角度分析每种模式的原理。...
阅读(513) 评论(0)

理解Andriod 硬件加速

作者: 林子木 博客地址:http://blog.csdn.net/wolinxuebin  文章总结: 什么是硬件加速:简单来说是一种采用GPU进行渲染,并且在计算需要重新绘制View上做了相应的优化。 相比原先的绘制模式,硬件加速具有什么优点: 原先绘制模式是在一个vi...
阅读(617) 评论(0)

Android事件处理(三)——View的onTouchEvent 函数源码详解

作者: 林子木 博客地址:http://blog.csdn.NET/wolinxuebin 文章意图: 主要是想一自己阅读代码后的一些小收获分享给大家。让大家更加深入的了解Android的事件分发这块的内容。 文章主要内容: 本文将在第一章通过自己的语言,简单介绍view的onTouchEvent函数,并将其中的一些关键点直接提炼出来,方便那些不想阅读源代码的同学把握住其...
阅读(1214) 评论(0)

Android事件处理(二)——View的dispatchTouchEvent 函数源码详解

相对ViewGroup的dispatchTouchEvent函数,View的dispatchTouchEvent简单很多,主要就两点: 1、将事件派发给我们使用setOnTouchListener设置的OnTouchListener的 onTouch 处理; 2、如果1没有处理该事件(也就是没有返回true),那么就将事件派发给View本身的 onTouchEvent 函数处理; 简单的说,就是优先派发给我们设置的Listener,在给view自身的。...
阅读(505) 评论(0)

Android事件处理(一)——ViewGroup的dispatchTouchEvent 函数源码详解

本文将在第一章通过自己的语言,简单介绍dispatchTouchEvent,并将其中的一些关键点直接提炼出来,方便那些不想阅读源代码的同学把握住其中的关键点。 在第二章将放上源码,其中包含了我阅读过程中的26处注释。...
阅读(689) 评论(0)

Android 内存泄漏分析利器——leakcanary

介绍leakcanary的使用,优缺点以及应用过程中可能出现的问题。...
阅读(5306) 评论(0)

Android的Canvas各函数全解析

1、save 2、saveLayer 3、restore 4、Canvas的矩阵变换 5、 clipPath详解      5.1 DIFFERENCE      5.2 REVERSE_DIFFERENCE      5.3 INTERSECT      5.4 UNION      5.5 XOR      5.6 REPLACE 6、 clip...
阅读(892) 评论(0)

Android适配——采用Values-dpi-wSize X hSize 模式,并分析原理

这篇文章主要讲两点: 一、xxxhdpi、560dpi、xxhdpi、xhdpi、hdpi、mdpi、ldpi (还有tvdpi 主要用于电视,不去讨论) 在某个dpi缺失的情况下,如果去找寻。 二、values-xxhdpi-1920X1080 这种以dpi加屏幕分辨率的适配方案是什么规律。 一、各种dpi之间的关系 【1】:由于网上以及存在一篇很好的文章,所以就不细讲了,这里给...
阅读(4454) 评论(2)

Android Button 总是在最上层的问题

从5.0 开始,在同一个layout下,Button将总是位于最上层,就算你在Button上覆盖了相应的View。 解决方案:参考地址:http://stackoverflow.com/questions/29906679/android-studio-button-always-appears-at-the-front 上述参考地址中提到了两个方法,分别为下面的方法1、2。 方法1: a...
阅读(2091) 评论(0)

Android 2.3上使用FrameLayout遇到的问题

问题一:Margin设置无效 原因:属于2.3的bug吧 解决方案: 如果是如下形式: 在你自己的(YourView)中设置layout_gravity属性,这样你相应的Margin才能生效。问题二:FrameLayout在使用margin属性之后,并没有达到预期的效果,出现了图像被遮挡住了等现象。 当FrameLayout在计算大小的时候是如何进行的? 原因:下面放两段代码,就...
阅读(1070) 评论(0)

N个鸡蛋从M楼层摔(2个鸡蛋从100层摔)

一、题目:   有一栋楼共100层,一个鸡蛋从第N层及以上的楼层落下来会摔破, 在第N层以下的楼层落下不会摔破。给你2个鸡蛋,设计方案找出N,并且保证在最坏情况下, 最小化鸡蛋下落的次数。二、思路:   先假设,最小的次数为x次。   首先在x层摔,那么会出现两个结果:   1、碎了,为了找出那一层碎了,第二个鸡蛋必须从1~x-1进行遍历的摔   2、没碎,那么第二次就在x+(x-1)楼层...
阅读(3345) 评论(4)

Java 异常及异常处理

1、什么是异常   简单来说,就是由于程序运行是出现的问题,但是可以通过try…和catch捕获处理,之后程序继续运行。   在java中,分异常(Exception)和错误(error)两种。其中“异常”是程序编写不完善(或者由于外部原因,网络错误,文件错误等)引起的;而“错误”虚拟机本身故障(如OutOfMemoryError),一旦出现错误,我们将不能处理,程序将无法继续执行。2、异常处理...
阅读(1019) 评论(0)

Java JVM 垃圾回收

一、垃圾回收作用于“堆”和“非堆(方法区)”两个线程共享的部分。 1、堆:   堆的主要存放“生成的对象”和“开辟的数组”。   面试的时候可能会问道,是不是所有的对象都存在于堆上?答案是否定的,当前虚拟机优化技术的发展,其中出现了逃逸分析(如果一个方法中生成的对象没有被其他方法或者线程使用,那么就是不逃逸的),如果对象不逃逸,那么就会把对象分配到栈空间上。另,网上有人还列举了TLAB,但是T...
阅读(732) 评论(0)

【leetcode】Largest Rectangle in Histogram

题目信息如下: 1、题目地址为:https://leetcode.com/problems/largest-rectangle-in-histogram/ 2、题目意思为: 给定一个非负数组height,代表了矩形的高度(其中矩形宽度为1),求在其中能找出最大的矩形面积。 3、给的例子为: height = [2,1,5,6,2,3]. 输出为:10.示意图如下 那么...
阅读(607) 评论(0)
160条 共11页1 2 3 4 5 ... 下一页 尾页
    个人资料
    • 访问:907694次
    • 积分:6130
    • 等级:
    • 排名:第4470名
    • 原创:96篇
    • 转载:63篇
    • 译文:1篇
    • 评论:78条
    最新评论