当前搜索:

Android 混合模式 —— PorterDuffXferMode

文章摘要 混合是模式是Android自定义View中的重要的一个环节,也是最难掌握的一个特性。本文将分以下三个内容来介绍:第一章简要介绍用处,第二章介绍简单的代码实现,第三章将详细介绍各个模式的作用,第四章将介绍使用过程中的一些注意点(坑点)。 第一章 例子 ## 以前吃饭的时候,一个同事拿...
阅读(83) 评论(0)

MAC 安装 opencv

一、主流的安装方式 Mac 上安装opencv主流的有3中方式。 pip install opencv-python brew install opencv 编译源码的方式 第一种和第二种,试了很多次,都没有成功。 pip 安装会报 Operation Not Permitted 的错...
阅读(87) 评论(0)

AndroidStudio 导入项目时,Building gradle project info 时间过长

AndroidStudio 导入项目时,Building gradle project info 时间过长 问题描述: 使用AndroidStudio的导出新项目的时候,会耗时特别久。 具体原因: 因为新导入的工程使用了Gradle版本,在本地没有下载过,需要去临时下载,但是网络速...
阅读(77) 评论(0)

OpenGL 的 Java 的 Matrix定义问题

今天遇到遇到一个问题,做视变换和投影变换的矩阵相乘的时候,结果总是出现了问题。最后看到Matrix的定义才最终明白。定义如下: /** * Matrix math utilities. These methods operate on OpenGL ES format * matrices ...
阅读(81) 评论(0)

OpenGL相关变换说明

OpenGL相关变换说明在分析OpenGL的相关变换前,让我们首先来看下一下这张图,有一个总的概念。 图1. OpenGL相关变换一、模型变换 (model transformation)简单来说,我们需要将我们手上的数据模型(可能是一个三角形、也可能是一个篮球的),从原始的本地坐标系(Lo...
阅读(69) 评论(0)

Android 屏幕适配

这篇文章洋洋洒洒,讲了很多主要的内容如下: 第二章,介绍了dpi、px、dp以及ppi的概念。 第三章,主要介绍了Android的实际dpi(ppi)和我们平时接触的dpi的区别。 第四章,介绍了Android查找资源的原理。 第五章,重点介绍了dpi及像素这两个资源的优选过程。 第六章,讲解了讲...
阅读(1344) 评论(2)

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

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

理解Andriod 硬件加速

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

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

作者: 林子木 博客地址:http://blog.csdn.NET/wolinxuebin 文章意图: 主要是想一自己阅读代码后的一些小收获分享给大家。让大家更加深入的了解Android的事件分发这块的内容。 文章主要内容: 本文将在第一章通过自己的语言,简单介绍view...
阅读(1786) 评论(0)

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

相对ViewGroup的dispatchTouchEvent函数,View的dispatchTouchEvent简单很多,主要就两点: 1、将事件派发给我们使用setOnTouchListener设置的OnTouchListener的 onTouch 处理; 2、如果1没有处理该事件(也就是没有返...
阅读(753) 评论(0)

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

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

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

介绍leakcanary的使用,优缺点以及应用过程中可能出现的问题。
阅读(10192) 评论(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 ...
阅读(1256) 评论(0)

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

这篇文章主要讲两点: 一、xxxhdpi、560dpi、xxhdpi、xhdpi、hdpi、mdpi、ldpi (还有tvdpi 主要用于电视,不去讨论) 在某个dpi缺失的情况下,如果去找寻。 二、values-xxhdpi-1920X1080 这种以dpi加屏幕分辨率的适配方案是什么规律。 ...
阅读(5241) 评论(2)

Android Button 总是在最上层的问题

从5.0 开始,在同一个layout下,Button将总是位于最上层,就算你在Button上覆盖了相应的View。 解决方案:参考地址:http://stackoverflow.com/questions/29906679/android-studio-button-always-appears...
阅读(3034) 评论(0)

Android 2.3上使用FrameLayout遇到的问题

问题一:Margin设置无效 原因:属于2.3的bug吧 解决方案: 如果是如下形式: 在你自己的(YourView)中设置layout_gravity属性,这样你相应的Margin才能生效。问题二:FrameLayout在使用margin属性之后,并没有达到预期的效果,出现了图...
阅读(1196) 评论(0)

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

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

Java 异常及异常处理

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

Java JVM 垃圾回收

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

【leetcode】Largest Rectangle in Histogram

题目信息如下: 1、题目地址为:https://leetcode.com/problems/largest-rectangle-in-histogram/ 2、题目意思为: 给定一个非负数组height,代表了矩形的高度(其中矩形宽度为1),求在其中能找出最大的矩形面积。 ...
阅读(666) 评论(0)
    个人资料
    持之以恒
    等级:
    访问量: 98万+
    积分: 6484
    排名: 4635
    最新评论