mFrame
載入中...
搜尋中...
無符合項目
ufm::util::ApplicationHandle 類別 參考文件

應用程式處理器類別,負責管理應用程式的生命週期狀態與資源使用率。 更多...

#include <ApplicationHandle.h>

類別ufm::util::ApplicationHandle的繼承圖:
ufm::lang::Object ufm::lang::Interface

公開型態

enum struct  State : uint32 {
  NONE , CREATED , INITIALIZED , RUNNING ,
  STOPPING , STOPPED , DESTROYED
}
 應用程式生命週期狀態列舉,定義應用程式在不同階段的狀態。 更多...
 

公開方法(Public Methods)

 ApplicationHandle (void)
 建構 Application Handler 並初始化狀態與使用率。
 
virtual ~ApplicationHandle (void) override
 解構 Application Handler。
 
void setName (const char *name)
 設定名稱
 
const char * getName (void) const
 取得名稱
 
float getUsage (void) const
 取得使用率百分比
 
State getState (void) const
 取得目前狀態
 
- 公開方法(Public Methods) 繼承自 ufm::lang::Object
void * operator new (size_t n)
 使用運算子 new 分配記憶體
 
void * operator new (size_t n, void *p)
 在指定記憶體上調用運算子 new
 
virtual ufm::lang::ObjectgetObject (void) override
 取得對應的 Object 物件
 
void delay (int milliseconds) const
 延遲指定的毫秒數進行執行緒等待
 
bool equals (Object *object) const
 判斷與另一物件是否為相同參照(指標型態比較)
 
bool equals (Object &object) const
 判斷與另一物件是否為相同參照(參照型態比較)
 
void wait (void) const
 使當前線程等待直到被通知
 
bool wait (int timeout) const
 等待通知或超時
 
bool yield (void) const
 讓執行緒讓渡控制權給同優先權的下一個執行緒
 
int lock (void) const
 核心鎖定,鎖定期間禁止線程切換
 
int unlock (void) const
 核心解鎖
 
ufm::sys::ThreadcurrentThread (void) const
 取得當前執行緒指標
 
virtual int hashcode (void) const
 返回對象的哈希碼值。支持這種方法是為了散列表,如HashMap提供的那樣。
 
- 公開方法(Public Methods) 繼承自 ufm::lang::Interface
virtual ~Interface (void)=default
 虛擬析構函式
 

保護屬性

const char * vName
 應用程式名稱,用於識別和除錯。
 
uint32 vUsageTick
 使用量時間計數,用於計算資源使用率。
 
float vUsage
 CPU 使用率,範圍 0.0 到 1.0。
 
State vState
 目前的生命週期狀態。
 

類別朋友(Friends)

class ufm::util::Application
 

詳細描述

應用程式處理器類別,負責管理應用程式的生命週期狀態與資源使用率。

ApplicationHandle 類別提供應用程式狀態追蹤和資源使用率監控功能。 每個應用程式實例都有一個對應的 Handle,用於記錄其運行狀態、 名稱和 CPU 使用率等資訊。這個類別與 Application 類別緊密配合, 提供完整的應用程式生命週期管理。

使用範例:
// 在應用程式實作中使用 Handle
class MyApplication : public ufm::util::Application::Listener {
private:
public:
void onCreate(void) override {
// 設定應用程式名稱
handle.setName("MyApplication");
// 此時狀態會是 CREATED
}
bool onInitialize(void) override {
// 初始化完成後,狀態會變為 INITIALIZED
// 可以檢查目前狀態
// 進行初始化邏輯
return true;
}
return false;
}
void onRun(void) override {
// 運行時狀態為 RUNNING
// 可以監控 CPU 使用率
float usage = handle.getUsage();
if (usage > 0.8f) { // 使用率超過 80%
// 採取適當的行動,例如降低處理頻率
}
}
ufm::util::ApplicationHandle& getApplicationHandle(void) override {
return handle;
}
};
// 監控應用程式狀態
MyApplication app;
const ufm::util::ApplicationHandle& handle = app.getApplicationHandle();
// 取得應用程式資訊
const char* name = handle.getName();
float usage = handle.getUsage();
auto state = handle.getState();
// 根據狀態進行不同處理
switch (state) {
// 應用程式正常運行
break;
// 應用程式已停止
break;
default:
// 其他狀態處理
break;
}
應用程式處理器類別,負責管理應用程式的生命週期狀態與資源使用率。
Definition ApplicationHandle.h:107
float getUsage(void) const
取得使用率百分比
Definition ApplicationHandle.h:183
void setName(const char *name)
設定名稱
Definition ApplicationHandle.h:167
State getState(void) const
取得目前狀態
Definition ApplicationHandle.h:191
const char * getName(void) const
取得名稱
Definition ApplicationHandle.h:175
@ STOPPED
已停止狀態,onStop() 成功完成。
@ RUNNING
運行狀態,onRun() 正在重複執行。
@ CREATED
已建立狀態,onCreate() 已被呼叫。
@ INITIALIZED
已初始化狀態,onInitialize() 成功完成。
應用程式生命週期監聽介面,定義應用程式的基本生命週期方法。
Definition Application.h:294
參閱
ufm::util::Application
ufm::util::Application::Listener
1.0.0

列舉型態成員說明文件

◆ State

enum struct ufm::util::ApplicationHandle::State : uint32
strong

應用程式生命週期狀態列舉,定義應用程式在不同階段的狀態。

State 枚舉定義了應用程式從建立到銷毀的完整生命週期狀態。 這些狀態按照生命週期順序排列,用於追蹤應用程式的當前階段。

狀態轉換順序:
NONE → CREATED → INITIALIZED → RUNNING → STOPPING → STOPPED → DESTROYED
狀態說明:
  • NONE: 初始狀態,尚未建立
  • CREATED: 已建立,onCreate() 已呼叫
  • INITIALIZED: 已初始化,onInitialize() 成功完成
  • RUNNING: 正在運行,onRun() 正在執行中
  • STOPPING: 正在停止,onStop() 已呼叫但尚未完成
  • STOPPED: 已停止,onStop() 成功完成
  • DESTROYED: 已銷毀,onDestroy() 已呼叫
1.0.0
列舉值
NONE 

初始狀態,應用程式尚未建立。

CREATED 

已建立狀態,onCreate() 已被呼叫。

INITIALIZED 

已初始化狀態,onInitialize() 成功完成。

RUNNING 

運行狀態,onRun() 正在重複執行。

STOPPING 

停止中狀態,onStop() 已呼叫但尚未完成。

STOPPED 

已停止狀態,onStop() 成功完成。

DESTROYED 

已銷毀狀態,onDestroy() 已被呼叫。

函式成員說明文件

◆ getName()

const char * ufm::util::ApplicationHandle::getName ( void ) const
inline

取得名稱

傳回值
const char* 應用程式名稱

◆ getState()

State ufm::util::ApplicationHandle::getState ( void ) const
inline

取得目前狀態

傳回值
State 生命週期狀態

◆ getUsage()

float ufm::util::ApplicationHandle::getUsage ( void ) const
inline

取得使用率百分比

傳回值
float 使用率

◆ setName()

void ufm::util::ApplicationHandle::setName ( const char * name)
inline

設定名稱

參數
name應用程式名稱

此類別(class) 文件是由下列檔案中產生: