Welcome 微信登录
编程资源 图片资源库 蚂蚁家优选 PDF转换器

首页 / 操作系统 / Linux

再次探究Android ListView缓存机制

再次探究Android ListView缓存机制

概述虽然现在5.0后Google推出了RecycleView,但在5.0 Lollipop普及前Listview仍会被广泛使用,所以打算再次探究一下Listview的源码,了解一下Listview 的构成及加载机制。探究上图简单梳理了Listview的构成及与其相关类之间的关系,并简要地列出了些重要的方法和内部类。AdapterView从上图可以清晰的看出Listview归根究底是继承自AdapterView。AdaterView是一个抽象类,一些最基本和...
探究Android中Listview显示错乱问题

探究Android中Listview显示错乱问题

问题最近在项目中遇到过一个很棘手的问题,就是ListView在滑动后就莫名其妙的显示错乱,网上查阅资料后问题很容易的就解决了,但是对于问题产生的原因仍是一知半解,所以不甘心的我定下心来,狠读源码,终于理清了其中的”奥秘“。由来一般的关于Adapter中getView的写法不外乎以下形式:@Overridepublic View getView(int position, View convertView, ViewGroup par...
OpenSSH SFTP远程溢出漏洞

OpenSSH SFTP远程溢出漏洞

安全社区爱好者Jann Horn公布了OpenSSH可以让用SFTP访问的用户在没有验证的情况下使用"ForceCommand internal-sftp"的漏洞(含POC),也就是说如果你的OpenSSH服务器中没有配置"ChrootDirectory"的话普通用户都可以访问所有文件系统的资源,包括/proc,在>=2.6.x的Linux内核上,/proc/self/maps会显示你的内存布局,/proc/self/mem可以让你任意在当前进程上下...
Bugzilla 0day漏洞曝光0day漏洞细节

Bugzilla 0day漏洞曝光0day漏洞细节

广泛使用的bug跟踪系统Bugzilla发现了一个0day漏洞,允许任何人浏览未修正尚未公开的漏洞细节。Bugzilla由Mozilla开发,被开源项目广泛使用,任何人都可以在Bugzilla平台创建帐户报告某个项目的bug。安全公司Check Point Software Technologies的研究人员发现,Bugzilla的查询权限分配漏洞允许任何人使用能绕过验证的任意电子邮件注册,获得某个Bugzilla平台的管理权限。举例来说,使用admin@...
看源码之Adapter和AdapterView之间的关系

看源码之Adapter和AdapterView之间的关系

总述Android中“列表”的实现其实一个典型的MVC模式,其实中AdapterView相当于是View,负责视图的绘制以及视图的事件响应,Adapter相当于是Controller,负责控制数据的显示内容和展现方式,另外项目中的实体类则是代表了Model。AdapterAdapter其实是个接口,并不是一个具体的类。它的主要最用就是作为一个AdapterView和Model间的桥梁,这一点在源码中有很清楚的定义:/** * An ...
Shellshock 漏洞面临失控,雅虎和WinZip中招

Shellshock 漏洞面临失控,雅虎和WinZip中招

安全研究人员 Jonathan Hall近日声称发现了一个罗马尼亚黑客搭建的僵尸网络,利用Shellshock漏洞控制了大量知名互联网公司的服务器,包括雅虎和压缩工具软件WinZip的官网。Jonathan Hall最近发布了雅虎服务器的漏洞报告,并透露雅虎已经承认有两台游戏服务器(dip4.gq1.yahoo.com和api118.sports.gq1.yahoo.com)被僵尸网络入侵并取得root权限。据Hall透露,发现雅虎僵尸服务器事出偶然。当时...
C#如何在生成文件夹或者文件时候自动重命名

C#如何在生成文件夹或者文件时候自动重命名

C#如何在生成文件夹或者文件时候自动重命名如果你在一个文件夹里面, 连续添加文件夹或者文件(不改名字), 那么系统会自动加上(1),(2),(3)...这个效果我在网上搜不到, 自己写一下也不太难.文件夹的:(不断点击按钮就有效果)private void btnAdd_Click(object sender, EventArgs e) { string dir = @"d:KuGouCacheabc"; string newdi...
Perl中的真与假

Perl中的真与假

Perl认为真值是自明的(self-evident), 表示任何事物的真值都可以计算。Perl以实用的方式来定义真值,即一个实体的真值取决于这个实体的类型。Perl总是乐观的认为:这个世界上真的东西远比假的东西多的多。Perl区别与任何其他计算机语言,Perl是语言学家创造的,而语言的意思离不开上下文语境,所以Perl中的真值都可以在标量(标量$与数组@类似于英文中的单数与复数, book 与 books的区别, 真值在现实世界中,应该就是单数,所以是标量...
Java多线程中易混淆的概念

Java多线程中易混淆的概念

概述最近在看《ThinKing In Java》,看到多线程章节时觉得有一些概念比较容易混淆有必要总结一下,虽然都不是新的东西,不过还是蛮重要,很基本的,在开发或阅读源码中经常会遇到,在这里就简单的做个总结。1.volatilevolatile主要是用来在多线程中同步变量。在一般情况下,为了提升性能,每个线程在运行时都会将主内存中的变量保存一份在自己的内存中作为变量副本,但是这样就很容易出现多个线程中保存的副本变量不一致,或与主内存的中的变量值不一致的情况...
<< 2241 2242 2243 2244 2245 2246 2247 2248 2249 2250 >>