#技术积累#20150927

CentOS

查看系统日志的命令

grep -i out /var/log/messages
前段时间,服务器经常出现PHP-FPM或MYSQL服务进程终止,导致博客不可访问,随后给阿里云提了一个工单,很快给了答复说可能是内存不足了,让我用上面的指令查看一下,我一看果然是这样,然后我又做了一系列配置,目前博客运行还算稳定: 首先是Wordpress的最大内存占用,在wp-config.php 中插入下面的配置,限制最大内存为256M。
define('WP_MEMORY_LIMIT','256M');
对于PHP-FPM,设置最大子进程数等参数。
pm.max_children = 8
pm.start_servers = 3
pm.min_spare_servers = 3
pm.max_spare_servers = 5
pm.max_requests = 200
随后重启下服务,感觉博客访问速度明显变快了,而且还很稳定。 ### **Android** * * * **为ListView的SingleChoice模式增加支持反选**: 给ListView设置OnItemClickListener,实现onItemClick方法:
@Override
            public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
                if (mCheckedPosition == position) {
                    mCheckedPosition = CHECK_NONE;
                    getRefreshListView().setItemChecked(position, false);
                    return;
                }
                if (listview.getCheckedItemPosition() == position) {
                    mCheckedPosition = position;
                }
            }
其中mCheckedPosition为记录的选中的position * * * **RelativeLayout**中,如果子View的alignParentRight=true,RelativeLayout的width会自动match_parent;alignParentBottom=true同理。 * * * **判断View是否显示**,可以方便的使用**View.isS**hown();方法,但是使用的时候要注意。对于ListView的item view,不能直接使用,因为item view在回收时,会出现parent == null的情况,isShown()遇到这种情况会返回false,并不是只判断visibility属性,这里可能会导致错误。 * * * **ListView底部对齐**(自动滚动到底部): listview.setTranscriptMode(ListView.TRANSCRIPT_MODE_NORMAL); * * * **透明Activity**,给Activity设置如下Theme
<style name="AppTheme.Transparent">
        <item name="android:windowBackground">@android:color/transparent</item>
        <item name="android:windowIsTranslucent">true</item>
        <item name="android:windowAnimationStyle">@android:style/Animation.Translucent</item>
    </style>

自定义View中,获取Android内置属性的值,如android:inputType。在obtainStyledAttributes方法中,传入相应的attrs数组。getInt方法中,index为对应attrs在该输入中的index。

int anInt = InputType.TYPE_CLASS_TEXT;
TypedArray ta2 = attrs == null ? null : getContext().obtainStyledAttributes(attrs, new int[]{android.R.attr.inputType});
if (null != ta2) {
anInt = ta2.getInt(0, InputType.TYPE_CLASS_TEXT);
}