Archive for 三月 2014

Android开发:提高布局性能-让ListView滑动更流畅

翻自Android官方文档:http://developer.android.com/training/improving-layouts/smooth-scrolling.html
让ListView滑动流畅的要点在于让主线程(UI)脱离繁重的处理,确保磁盘访问,网络访问,SQL查询在分离的线程里。你可以开启StrictMode测试你的App状态。

使用后台线程
使用后台线程(工作线程)从主线程中分离繁重的任务,让主线程可以专注于UI绘制。在大多数情况下,AsyncTask提供了在主线程外执行任务的简单方法。AsyncTask自动排队请求,在execute()方法里顺序执行(AsyncTask默认共享一个static单线程池,所以是单线程的),你不需要自己创建管理线程池。
Continue reading ‘Android开发:提高布局性能-让ListView滑动更流畅’ »

Linux Web服务器完整配置步骤(ubuntu 12.04+php+mysql+nginx+apache+mongodb+PureFTPd+jdk)

今天准备重新装一下服务器,so,完整步骤记录一下。
环境:
ubuntu 12.04.4 Desktop 中文版
nginx 1.4.5
mysql 5.6.16
apache 2.4.7
jdk-7u51
mongodb 2.4.9
pure-ftpd 1.0.36
User manager for PureFTPd 2.1
都是64bit的,因为这个服务器是装在虚拟机上,主要是为了开发以及备份,so,选择了桌面版的ubuntu,但跟服务器版本没什么区别。 Continue reading ‘Linux Web服务器完整配置步骤(ubuntu 12.04+php+mysql+nginx+apache+mongodb+PureFTPd+jdk)’ »

Android 画虚线显示实线的BUG

画虚线一般写个xml:


<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="line" >
    <stroke
        android:dashGap="8dp"
        android:dashWidth="8dp"
        android:color="@color/appendrate_divider_color" />
</shape>

其中dashGap是空隙宽度,dashWidth是线的宽度,当dashGap也就是空隙宽度为0时,显示一条实线。然后在background或src中引用,但在android 4.0以上版本中会有BUG,发现不管dashGap设置多大,显示的都是一条实线。
解决方法:
关闭硬件加速。
可以在AndroidManifest.xml时的Application标签加上android:hardwareAccelerated="false",这样整件应用都关闭了硬件加速,虚线可以正常显示,但是,关闭硬件加速对性能有些影响,会感觉明显比没关卡。
也可以给虚线的view单独关闭硬件加速:


divider_under_pic.setLayerType(View.LAYER_TYPE_SOFTWARE, null);