android OOM adj 的設定流程

2021-07-22 16:19:51 字數 907 閱讀 3211

流程如下:

setoomadj

--> framework/base/core/jni/android_util_process.cpp

android_os_process_setoomadj 

-->kernel/fs/proc/base.c

inf("oom_score", s_irugo, proc_oom_score),

reg("oom_adj",   s_irugo|s_iwusr, proc_oom_adjust_operations),

reg("oom_score_adj", s_irugo|s_iwusr, proc_oom_score_adj_operations),

-->kernel/fs/proc/base.c

static const struct file_operations proc_oom_adjust_operations = ;

--> kernel/fs/proc/base.c

copy_from_user(buffer, buf, count)

err = kstrtoint(strstrip(buffer), 0, &oom_adjust);

task->signal->oom_adj = oom_adjust; //warn,oom_adj is deprecated

task->signal->oom_score_adj = (oom_adjust * oom_score_adj_max) -oom_disable;

說明:ams呼叫setoomadj設定某程序的adj值,

通過jni介面寫到oom_adj檔案裡,

這個檔案是在base.c裡註冊的檔案,裡面有個oom_adjust_write方法

該方法將這個值賦給task->signal->oom_score_adj

wxVectorProperty 屬性的設定

用wx中屬性網格屬性設定時遇到了些麻煩。為了設定編輯器中模型的3d座標,在屬性網格中加了3d座標屬性。但是在設定wxvectorproperty,不知道如何設定。後來在wxpropertygridproperties檔案中找到了這個巨集wx pg declare variant data wxvec...

android layout weight設定解讀

參考文章 android layout weight的真實含義是 一旦view設定了該屬性 假設有效的情況下 那麼該 view的寬度等於原有寬度 android layout width 加上其在剩餘空間中的佔比!設螢幕寬度為l,在兩個view的寬度都為match parent的情況下,原有寬度為l...

Android RecyclerView設定空布局

1 自定義乙個emptyrecyclerview繼承recyclerview 2 採用adapterdataobserver觀察者模式來監聽資料的變化,如果有資料就隱藏空布局,反之,則顯示。view memptyview private adapterdataobserver emptyobserv...