亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

Android 性能優化--數據庫優化其他優化(五)

標簽:
Android

(1)语句的拼接使用StringBuilder代替String

简单的String相加会导致创建多个临时对象消耗性能。StringBuilder的空间预分配性能好得多。

如果你对字符串的长度大致了解,如100字符左右,可以直接new StringBuilder(128)指定初始大小,减少空间不够的再次分配。

(2)读写表

在写表时调用sqliteOpenHelper.getWritableDatabase(),在读表时候调用spliteOpenHelper.getReadableDatabase()性能更优。

(3)查询时返回更少的结果集及更少的字段。

查询时只取需要的字段和结果集,更多的结果集会消耗更多的时间及内存,更多的字段会导致更多的内存消耗。

(4)少用cursor.getColumnInndex

根据性能调优过程中的观察cursor.getColumnInndex的时间消耗跟cursor.getInt相差无几。可以在建表的时候用Static变量记住某列的index。直接调用相应index而不是每次查询。

public static final String HTTP_RESPONSE_TABLE_ID   =   android.provider.BaseColumns._ID;

public static final String HTTP_RESPONSE_TABLE_RESPONSE  =  "response";

public list<Object> getData(){

...

cursor.getString(cursor.getColumnIndex(HTTP_RESPONSE_TABLE_RESPONSE));

......

}

-------------------------------------------------------------------

优化为:

public static final String  HTTP_RESPONSE_TABLE_ID   =   android.provider.BaseColumns._ID;

public static final String  HTTP_RESPONSE_TABLE_RESPONSE  =  "response";  

public static final String HTTP_RESPONSE_TABLE_ID_INDEX  = 0;

public static final String HTTP_RESPONSE_TABLE_URL_INDEX = 1;

public list<Object>getData(){

......

cursor.getSring(HTTP_RESPONSE_TABLE_URL_INDEX);

......

}

原文链接:http://www.apkbus.com/blog-783674-61169.html

點擊查看更多內容
TA 點贊

若覺得本文不錯,就分享一下吧!

評論

作者其他優質文章

正在加載中
  • 推薦
  • 評論
  • 收藏
  • 共同學習,寫下你的評論
感謝您的支持,我會繼續努力的~
掃碼打賞,你說多少就多少
贊賞金額會直接到老師賬戶
支付方式
打開微信掃一掃,即可進行掃碼打賞哦
今天注冊有機會得

100積分直接送

付費專欄免費學

大額優惠券免費領

立即參與 放棄機會
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號

舉報

0/150
提交
取消