[英]Why does Android API ask for a results parameter as opposed to a return method?
我的問題是在整個Android API中,很多庫調用要求將results[]
參數傳遞給方法,例如:
public boolean isInProximity(double startLat, double startLongitude, float meters) {
float[] results = new float[3];
Location.distanceBetween(startLat, startLongitude, endLatitude, endLongitude, results);
return results[0] <= meters;
}
對android的調用是Location.distanceBetween()
,它需要results[]
為什么它們只是在方法中包含一個返回簽名? 我假設它是某種內存或速度優化。 我不確定背后的確切原因。
你是對的,它是關於優化的,這樣你可以多次調用這個方法,而不需要每次都分配內存。
編輯 - 這是一個測試: http : //codeyarns.com/2010/10/21/c-return-value-versus-output-parameter/
遲到總比我想的要好。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.