開發過程中注意事項及優化(持續更新 )

2021-07-17 05:54:14 字數 1593 閱讀 9044

把每一件簡單的事做好,就不簡單了;把每一件平凡的事完成,就不平凡了!

這篇文章會慢慢更新的,自己剛接觸到安卓開發,注意事項以及效能優化都會更新,希望對讀者有一定的幫助。

1.在handler執行非同步資訊傳遞的時候,當我們在非ui執行緒中,需要把傳遞的資訊sendmessage給主線程,這個時候我們需要的message物件的獲取,最好是採用

message message = mhandler.obtainmessage();

message.what = mhandlerindex;

message.obj = result;

mhandler.sendmessage(message);

改掉原本的message message=new message();

obtainmessage()獲取message物件就能避免建立物件,從而減少記憶體的開銷了。

2.在開發動畫效果的過程中,盡量避免幀動畫的使用,容易造成oom(out of memory)記得在專案開發中,因為我新手,乙個訊號外放的動畫效果,我當時是使用的幀動畫,雖然效果看上去一樣,但效能差距挺大。老大的專案使用的scheduledexecutorservice,當時說的一句話挺好「動畫效果不就是定時任務嘛」........

mschedule = executors.newsinglethreadscheduledexecutor();

mschedule.scheduleatfixedrate(new advertingtask(), 500, 500,

timeunit.milliseconds);

這樣的實現效果可以放在乙個執行緒中去完成,主要是程式在結束的時候,相對於釋放資源以及任務結束方便。

public void finish() 

super.finish();

}

3.json中optstring和getstring的區別

optjsonobject原始碼解析:

public jsonobject optjsonobject(string name) 

//當返回值不是jsonobject物件時,返回值為null,不丟擲異常;

getjsonobject原始碼解析:

public jsonobject getjsonobject(string name) throws jsonexception  else 

} //當返回值不是jsonobject物件時,丟擲異常;

4.應用textutils簡化**量

textutils.isempty(phone)替代原本的phone == null || phone.trim().length() <= 0

textutils.equals(regpass, regpassagain)判斷兩者是否一致。

Ionic開發中注意事項 持續更新

1 angular services依賴注入的規範 自定義的service要寫在內建的angular services之後,自定義的service之間是沒有先後順序的 2 ionic1.3之後頁面為了提供效能加入了快取機制,如果不需要可以在配置頁面時將cache屬性設為false stateprov...

初學mongodb中注意事項和方法(持續更新)

1 查詢的時候find 出來的是乙個陣列物件 findone 出來的是查到的第乙個物件 2 關於query用法 精確匹配 query query new query criteria.where shijian is shijian 模糊查詢 query query new query criter...

app開發過程中有關耗電注意事項

一 保持螢幕常亮 原則 有喚起螢幕常亮的 必須有移除螢幕常亮的 原因 有保持螢幕常亮的 cpu一直在執行。1 增加flag getwindow addflags windowmanager.layoutparams.flag keep screen on 喚醒 getwindow clearflag...