1、为避免 ListView 在使用过程中消耗过多的内存,需要对 Listview 进行优化,常用的优化方案是对加载好的布局进行缓存、创建 ViewHolder 类对控件实例进行缓存
2、Activity 之间交换数据,可以根据活动的生命周期用 Intent 传值
3、上一个 Activity 需要更新数据库相关数据,蠢方法之一,在跳转到第二个 Activity 之前直接调用 finish() 方法,第二个活动做了相关操作返回来时用 Intent 重新跳转到第一个 Activity,这里利用 onCreate() 相关特性
4、文字的尺寸用 sp ,非文字的尺寸用dp
5、善用 LinearLayout 包裹 RelativeLayout 布局
6、使用到相关权限时,例如网络,到 AndroidManifest.xml 文件注册相关内容
7、网络相关操作放到子线程,子线程中,网络返回的结果调用 UiThread 切回主线程更新 UI
8、android 中用到 socket,创建实例的方法:
方法一 | 方法二 |
---|---|
Socket socket = new Socket("192.168.0.104", 7120); | Socket socket = new Socket(); |
SocketAddress socAddress = new InetSocketAddress("192.168.0.104", 7120); | |
socket.connect(socAddress, 2000); |
方法二可以设置 timeout 参数
9、按钮是否可点击属性为 enabled ,clickable 属性无反应
10、java 中提取一个字符串的子串方法为 substring(0,3),实则取到下标为 0,1,2 三个字符
11、visibility 与 gone,前者设置为控件不可见,但是占位置;后者设置为控件不可见,且不占用位置
12、获取字符串长度为 text.length()