pxfile Blog

Thinking will not overcome fear but action will.

Android减少重复代码

Android减少重复代码

Android减少重复代码 重复的代码一直都是可维护性的大敌,重构的重要任务之一也就是要去除掉重复的代码,有效的减少重复代码,可以大大提高软件的扩展性。 在Android开发中,很容易产生重复的代码。因为Android是组件,模板式开发,每个页面都是独立用Activity或Fragment实现,布局文件都是用XML方式去写,所以很容易造成代码的重复,虽然二个页长的差不多,但毕竟是二个Ac...

Android中ThreadLocal的原理

ThreadLocal的原理

Android中ThreadLocal的原理 ThreadLocal是什么 ThreadLocal是一个关于创建线程局部变量的类。 通常情况下,我们创建的变量是可以被任何一个线程访问并修改的。而使用ThreadLocal创建的变量只能被当前线程访问,其他线程则无法访问和修改。 Global && Local 上面的两个修饰看似矛盾,实则不然。 Global ...

统计启动时长,标准

统计启动时长,标准

android 统计启动时长,标准 一.启动的类型 冷启动 application没有被创建,需要先创建进程,然后启动MainActivity。由于这个过程需要fork一个新进程,所以耗时。 热启动 同上面对照,已经启动过application,并驻留在系统内存内,只是需要唤醒该进程,并启动MainActivity。 二:统计启动时间 物理统计 通过高速相机,从点击launche...

如何保持应用的稳定性

如何保持应用的稳定性

如何保持应用的稳定性 说到Android系统手机,大部分人的印象是用了一段时间就变得有点卡顿,有些程序在运行期间莫名其妙的出现崩溃,打开系统文件夹一看,发现多了很多文件,然后用手机管家 APP 不断地进行清理优化 ,才感觉运行速度稍微提高了点,就算手机在各种性能跑分软件面前分数遥遥领先,还是感觉无论有多大的内存空间都远远不够用。相信每个使用Android系统的用户都有过以上类似经历,确实,...

JVM相关

Android中JVM

JVM相关 一. 类的加载过程,Person person = new Person();为例进行说明。 1).因为new用到了Person.class,所以会先找到Person.class文件,并加载到内存中; 2).执行该类中的static代码块,如果有的话,给Person.class类进行初始化; 3).在堆内存中开辟空间分配内存地址; 4).在堆内存中建立对象的特有属性,并...

模块化与组件化开发

模块化与组件化开发

模块化与组件化开发 模块化,组件化是一种处理复杂系统分解为更好的可管理模块的方式。 模块化 模块化就是将一个程序按照其功能做拆分,分成相互独立的模块,以便于每个模块只包含与其功能相关的内容。模块我们相对熟悉,比如登录功能可以是一个模块,搜索功能可以是一个模块。 组件化 组件化就是基于可重用的目的,将一个大的软件系统按照分离关注点的形式,拆分成多个独立的组件,已较少耦合。 模块化vs组...

图片加载原理

图片加载

Android 图片加载原理 Android系统加载图片是先要把图片转换为Bitmap对象然后再传到ImageView里头显示的。 现在难点是: 不同的图片有不同的大小,造成Bitmap对象size不一样 不同的机器内存不一致,内存小的机器很容易因为单个或者多个Bitmap导致OOM 为了防止OOM 适当的给图片进行压缩 适当的缓存方案(ViewHolder,...

Mac删除用户

Mac用户创建于删除

为什么Mac不能删除用户 我新创了个用户 想把之前的删掉 但打开用户和群组 那个减号点不了 进入原来账户点击左上角苹果图标,注销一下,然后进入新账户 删除之前点击用户与群组左下角的锁,输入密码解锁再操作

LRUCache原理

LRUCache原理

LRUCache原理 一、Android中的缓存策略 Android用LruCache来取代原来强引用和软引用实现内存缓存,因为据说自2.3以后Android将更频繁的调用GC,导致软引用缓存的数据极易被释放。 LruCache使用一个LinkedHashMap简单的实现内存的缓存,没有软引用,都是强引用。LRU是近期最少使用的算法,它的核心思想是:当缓存满时,会优先淘汰那些近期最少使...

Android 在chrome中进行webview调试

Android 在chrome中进行webview调试

Android 在chrome中进行WebView调试 1.连上usb开启调试模式 2.在chrome地址栏输入:chrome://inspect 3.在手机中打开想要调试的页面 4.在chrome中想要调试的地址点击inspect