11 berber78

尚未进行身份认证

暂无相关描述

等级
TA的排名 3k+

六大原则

单一原则:简单地说就是一个类只做一件事。如果你遵守了这个原则,那么你的类就会划分的很细,每个类都有比较单一的职责,这不就是高内聚、低耦合么!单一职责原则并不是一个类只能有一个函数,而是说这个类中的函数所做的工作是高度相关的,也就是高内聚。依赖反转原则:设计和实现要依赖于抽象而非具体。里氏替换原则:继承会给程序带来侵入性,程序的可移植性降低,增加了对象间的耦合性,如果一个类被其他的类所继承,...

2018-03-13 14:22:03

ReentrantLock

ReentrantLock是可重入锁,或者说其持有一个锁计数器,当已持有所的线程再次获得该锁时计数器值加1,每调用一次lock.unlock()时所计数器值减一,直到所计数器值为0,此时线程释放锁;一般try前执行lock(),try中为受保护代码段;finally中执行unlock()可以保证发生异常锁可以得到释放避免死锁的发生;ReentrantLock的主要缺点是方法需要置于...

2018-03-13 10:27:39

Android 系统稳定性 - ANR(二)

1.2 如何分析ANR问题引起ANR问题的根本原因,总的来说可以归纳为两类:应用进程自身引起的,例如:主线程阻塞、挂起、死循环应用进程的其他线程的CPU占用率高,使得主线程无法抢占到CPU时间片其他进程间接引起的,例如:当前应用进程进行进程间通信请求其他进程,其他进程的操作长时间没有反馈其他进程的CPU占用率高,使得当

2017-11-29 15:26:56

Android 系统稳定性 - ANR(一)

如果你是一个Android应用程序开发人员,你的人生中不可避免的三件事情是:死亡、缴税和ANR。这么说是夸张了,但是由于Android本身的设计,以及应用程序和系统在开发过程中的缺陷,经常会在测试过程中遇到各种各样的ANR问题。在功能性的测试中还少一些,主要是在压力测试中(例如Monkey测试)会遇到非常多的ANR问题。本章的目的就是汇总笔者在工作中遇到的各种ANR问题,将其归纳总结出一套分析和处

2017-11-29 15:25:13

Android debuggerd 源码分析

debuggerd 简介Android系统自带一个实用的程序异常退出的诊断daemondebuggerd。此进程可以侦测到程序崩溃,并将崩溃时的进程状态信息输出到文件和串口中,以供开发人员分析调试使用。Debuggerd的数据被保存在/data/tombstone/目录下,共可保存10个文件,当超过10个时,会覆盖重写最早生产的文件。串口中,则直接用DEBUG的tag,输出logcat信

2017-05-18 11:57:41

Gradle配置lintOptions

lint检查对于app来说也是很重要的,可以检查出很多问题。 lint配置 从stackoverflow上扒了一个配置。android{lintOptions{//true--关闭lint报告的分析进度quiettrue//true--错误发生后停止gradle构建abortOnErrorfa

2017-03-07 15:42:28

Android native CursorWindow数据保存原理

转自http://blog.csdn.net/ifloveelse/article/details/28394103我们通过Uri查询数据库所得到的数据集,保存在native层的CursorWindow中。CursorWindow的实质是共享内存的抽象,以实现跨进程数据共享。共享内存所采用的实现方式是文件映射。在ContentProvider端透过SQLiteDatab

2017-01-03 14:33:51

如何选择 compileSdkVersion, minSdkVersion 和 targetSdkVersion

原文出自:http://www.open-open.com/lib/view/open1453253049558.html英文原文:PickingyourcompileSdkVersion,minSdkVersion,andtargetSdkVersion作者:IanLake,GoogleAndroid推广工程师;翻译:韩国恺。blob.png当你发布一个应用之后,(取决于具体的发布

2016-11-27 14:57:52

Android中JavaScript和Native之间的Bridge

原文地址:http://rensanning.iteye.com/blog/2043049为什么手机浏览器或者WebView中不能执行JavaScript调用本地API,而在HTML5混合式应用中却能执行? JavaScript调用本地API大概有4种方法: (1)addJavascriptInterface/@JavascriptInterface And

2016-08-29 11:19:27

Android HTTPS详解

前言最近有一个跟Https相关的问题需要解决,因此花时间学习了一下Android平台Https的使用,同时也看了一些Https的原理,这里分享一下学习心得。HTTPS原理HTTPS(HyperTextTransferProtocolSecure),是一种基于SSL/TLS的HTTP,所有的HTTP数据都是在SSL/TLS协议封装之上进行传输的。HTTPS协议是在HT

2016-07-11 14:34:54

Java虚拟机运行时数据区

【本文来自网路,仅供参考】经常有人把Java内存区分为堆内存(Heap)和栈内存(Stack),这种区分方法比较粗糙,Java内存区域的划分实际上远比这复杂。Java虚拟机在执行Java程序的过程中会把它所管理的内存划分为若干个不同的数据区域,主要包括:虚拟机栈本地方法栈PC寄存器方法区堆区这些数据区域中大致可

2016-04-21 19:59:32

如何在Android Studio项目中导入开源库?

前两天,谷歌发布了AndroidStudio1.0的正式版,也有更多的人开始迁移到AndroidStudio进行开发。然而,网上很多的开源库,控件等还是以前的基于Eclipse进行开发,很多人不知道怎么导入到自己的基于AndroidStudio项目中来,这里主要介绍一下常见的一些导包的场景。前言同Eclipse中的项目一样,gradle/andr

2016-01-03 15:14:00

Android耗电评估

这里只是使用最简单的方法对你的app的电量消耗进行评估,如果还想更加详细或者复杂的方法,可以使用一些比较专用的工具,比如Emmagee(https://github.com/NetEase/Emmagee),这个就很好用。第一招:看系统的设置-电池里面的耗电排名。除非你的APP耗电很出格,一用手机就发烫、电量直线往下掉,否则,对于大多数用户,你到底耗电怎么样,主要就是看这个了。先测测你的静默耗电

2015-12-09 15:52:57

Linux上wifi找不到网络的解决

root@User-pc:~#ifconfigroot@User-pc:~#ifconfigwlan0downroot@User-pc:~#ifconfigwlan0up //到这一般就可以了root@User-pc:~#ifdownwlan0root@User-pc:~#ifupwlan0小结:重启网卡

2015-12-08 10:38:55

swap、page、mmap和Ashmem

【swap和page】Linux系统通过2种方法进行内存管理,“调页算法(page)”,“交换技术(swap)”。调页算法是将内存中最近不常使用的页面换到磁盘上,把常使用的页面(活动页面)保留在内存中供进程使用。交换技术是系统将整个进程,而不是部分页面,全部换到磁盘上。【swap和page】Linux的swap分区:交换空间是专门用于临时存储内存的一块磁盘空间,通常在页面调度和交换进程数据时

2015-11-23 15:56:07

Android上用tcpdump抓包(转)

1.手机要有root权限2.下载tcpdump  http://www.strazzere.com/android/tcpdump3. adbpushc:\wherever_you_put\tcpdump /data/local/tcpdump4. adbshellchmod6755/data/local/tcpdump5,adbshell, 

2015-11-06 16:52:12

集合的性能提升

ArrayList中查找用binarySearch比indexOf高效,因为前者是二分查找,后者是逐个查找,但前者的使用前提是元素要排序,否则准确性不可靠。

2015-10-20 09:22:55

Android 系统源码导入 eclipse

1.复制development/ide/eclipse/.classpath到源码的根目录下;2.eclipse中创建java工程,不用起工程名,去掉勾选『Usedefaultlocation』,选择源码目录ps:如果源码目录是只读的,导入会报权限不够,执行以下命令赋予权限,sudochmod-R777源码目录

2015-10-12 13:52:11

Linux基本概念

主分区(包括扩展分区)的最大个数是四个,所以主分区(包括扩展分区)范围是从1-4,逻辑分区是从5开始的;

2015-10-10 16:31:31

Linux常用命令

查看磁盘使用情况:df-h查看挂载磁盘:sudofdisk-l

2015-10-10 16:01:43

查看更多

勋章 我的勋章
    暂无奖章