MiBridge
MiBridge copied to clipboard
MiSpeed
Other language versions
简体中文
Index
- Our Purpose
- Introduction
- Our Advantages
-
Access Note
- Applying for debugging permission
- APIs
- Applying for fromal permission
- More cooperation
Our Purpose
All for users, make users getting the best experience!
Introduction
Xiaomi Application Accelerator (MiSpeed) provides developers with the interface to apply for system resources,
which can improve the performance of developers in key application scenarios and enhance the user experience.
Our Advantages
-
Lightweight Access
Accessing through JAR file, the size is only a few KB, which will not burden developers' applications. -
Fast System Communication
Communicate with the system layer directly through binder, request system resources, fast and efficient. -
Scenario Customization
Provide different levels of system resources in different scenarios.
Access Note
MiBridge.jar
You can import this jar.
TestMiBridge
Inclued:
mibridge: Source code of MiBridge.jar
app: Testing application code.
Applying for debugging permission
Please provide the following information and send it to [email protected] to apply for debugging permission.
Subject:xx Company,Applying for MiSpeed debugging permission。
PackageName | CompanyName | Requestor | Device model | MIUI version | VAID num |
---|---|---|---|---|---|
com.mi.testmibridge | Xx | Tony | Redmi K20 Pro | MIUI 11 20.3.5 Beta | ec8ec830b8e8031c |
We will reply you with an authentication code
for debugging.
Note: What is VAID, how to get it?
- VAID means Vender Anonymous Device ID
- Refer http://msa-alliance.cn/col.jsp?id=120
- You can refer to the example in TestMiBridge. (Testing getVAID)
Support Devices
APIs
Permission apis
-
boolean checkDebugPermission(Context context, String pkg, int uid, String auth_key)
Description:Check whether the application has debugging permission.parameters:
context : application context
pkg : Package Name
uid : android.os.Process.myUid()
auth_key :authentication code
return value:
true : Permission granted
false : Permission not granted -
boolean checkPermission(String pkg, int uid)
Description:Check whether the application has formal permission,please refer 3.Applying for fromal permission
After obtaining the formal permission, use this interface to check the permission without using theauthentication code
.parameters:
pkg : Package Name
uid : android.os.Process.myUid()return value:
true: Permission granted
false: Permission not granted
APIs for request system resouce
-
int requestCpuHighFreq(int uid, int level, int timeoutms)
Description: Reqeust CPU frequencyparameters:
uid : android.os.Process.myUid()
level : Expected cpu frequency level,system will set different CPU frequency according to different modelsLevel Explanation (take Xiaomi 8 as an example) 1 Level 1 Set the CPU frequency to MAX 2 Level 2 Set the CPU frequency to higher
example:Xiaomi 8, Set big core at least 2.2GHz, little core at least 1.5GHz3 Level 3 Set the CPU frequency to above normal
example:Xiaomi 8, Set big core at least 1.9GHz, little core at least 1.0GHzAttention:Please using Level 1 with caution。Level 1 scenarios is limited to 5,
Level 2 is limited to 20,Level 3 no limits。
timeoutms : durationreturn value:
0: Success
-1: Fail
-2: Permission not granted! -
int cancelCpuHighFreq(int uid)
Description:Cancle cpu frequency requestparameters:
uid : android.os.Process.myUid()return value:
0: Success
-1: Fail
-2: Permission not granted! -
int requestThreadPriority(int uid, int req_tid, int timeoutms)
Description:Request thread for higher priority, running in big core.parameters:
uid : android.os.Process.myUid()
req_tid : thread id
timeoutms : durationreturn value:
0: Success
-1: Fail
-2: Permission not granted! -
int cancelThreadPriority (int uid, int req_tid)
Description:Cancel requestparameters:
uid : android.os.Process.myUid()
req_tid : thread idreturn value:
0: Success
-1: Fail
-2: Permission not granted!
Applying for fromal permission
Please provide the following information and send it to [email protected] to apply for formal permission.
Subject:xx Company,Applying for MiSpeed formal permission。
Note:To apply for formal permission,relevant business agreements need to be signed.
1. APIs using scenarios
Scenarios | Cpu level | Thread priority | Timeout (ms) |
---|---|---|---|
Open xx activity | 1 | 0 | 100 |
Scroll in xx activity | 2 | 0 | 1000 |
Scenario 3 | 3 | 1 | 500 |
Scenario4 | 1 | 0 | 100 |
Scenario 5 | 0 | 1 | 2000 |
2. Performance Test
Scenarios | Detail test | Before | After | Diff |
---|---|---|---|---|
Open xx activity | the duration of open activity | 100 ms | 80 ms | 20% |
Scroll | drop frames | 10% | 6% | 40% |
Scenario 3 | Test 3 | .. | .. | .. |
Note:We will also do performance test according to the scenarios provided by you.
3. Power consumption test
Scenarios | Before | After | Diff |
---|---|---|---|
Scenario 1 | 1000 mA | 1050 mA | 50 |
Scenario 2 | .. | .. | .. |
Note:We will also do power consumption test according to the scenarios provided by you.
More cooperation
More APIs will be supported in the future
requestGpuHighFreq,requestIOHighFreq,requestMemory,requestNetwork and so on.
Other supports that can be provided in the future
Provide more support for your application (e.g. memory leak detection), improve the performance of the application, and improve the user satisfaction.