您的位置:首页 > 移动开发 > Android开发

android技术

2016-01-06 17:44 375 查看
一.编译BaseAdapter 中采用HiewHolder类,节省内存资源
public View getView(int position, View convertView, ViewGroup parent) {
ViewHolder holder;
if (convertView == null) {
convertView = mInflater.inflate(R.layout.listitem_route_hv, null);
holder = new ViewHolder();
/* 得到各个控件的对象 */
holder.people_icon = (TextView) convertView
.findViewById(R.id.people_icon);
holder.route_num = (TextView) convertView
.findViewById(R.id.route_num);
holder.site_name = (TextView) convertView.findViewById(R.id.site_name);
convertView.setTag(holder); // 绑定ViewHolder对象

} else {
holder = (ViewHolder) convertView.getTag(); // 取出ViewHolder对象
}

return convertView;
}
private final class ViewHolder {
public TextView people_icon;
public TextView route_num;
public TextView site_name;
}
二.将手机软盘缩回隐藏。
InputMethodManager floppydisk = (InputMethodManager) v.getContext( ).getSystemService( Context.INPUT_METHOD_SERVICE );
floppydisk.hideSoftInputFromWindow(v.getApplicationWindowToken(), 0);
三.开一个线程
Thread thread=new Thread(new Runnable()
{
@Override
public void run()
{
takeActivity.startService(intent);
}
});
thread.start();
当开完线程后,可以不用特意去销毁线程,当survice完成后程序自动销毁线程。除非线程循环才要销毁。
四.代码混淆
1.在build.grade中设置release
release {
signingConfig signingConfigs.release
minifyEnabled true
//Zipalign优化
zipAlignEnabled true
// 移除无用的resource文件
//  shrinkResources true
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
applicationVariants.all { variant ->
variant.outputs.each { output ->
def outputFile = output.outputFile
if (outputFile != null && outputFile.name.endsWith('.apk')) {
def fileName = "${variant.productFlavors[0].name}_v${defaultConfig.versionName}_${releaseTime()}_release_signed.apk"
output.outputFile = new File(outputFile.parent, fileName)
}
}
}
}
2.在proguard-rules.pro设置哪些要混淆哪些不需要混淆。
五.签名打包
Build->Generate Signed APK
创建数字证书key,然后点击finish,选择release版本即可。
六.grade构建原理

                                            
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: