Skip to content

Commit 5b74e72

Browse files
committed
update
1 parent 7eab750 commit 5b74e72

9 files changed

+153
-36
lines changed

Image/Screenshot_1.jpg

144 KB
Loading

Image/Screenshot_3.jpg

29.8 KB
Loading

README.md

+39-22
Original file line numberDiff line numberDiff line change
@@ -14,35 +14,44 @@
1414

1515
本应用参考了开源项目 https://www.coolapk.com/apk/com.omarea.filter
1616

17-
## 应用截图
17+
## 下载地址
1818

19-
![](Image/Screenshot_1.jpg)![](Image/Screenshot_2.jpg)![](Image/Screenshot_3.jpg)![](Image/Screenshot_4.jpg)
19+
下载链接 1:github release
2020

21-
## 应用原理
21+
https://github.com/cjyyx/ScreenFilter/releases
2222

23-
详见 https://zhuanlan.zhihu.com/p/642886728
23+
下载链接 2:蓝奏云
2424

25-
## 应用设计
25+
https://wwis.lanzouq.com/b04whksif
2626

27-
### 主界面
27+
密码:1234
2828

29-
打开软件,打开准备界面(提示提供相应权限)
29+
## 应用截图
3030

31-
软件主界面,有
31+
![](Image/Screenshot_1.jpg)
32+
![](Image/Screenshot_2.jpg)
33+
![](Image/Screenshot_3.jpg)
34+
![](Image/Screenshot_4.jpg)
3235

33-
- 屏幕滤镜开关(支持状态栏快捷设置)
34-
- 智能亮度开关(支持状态栏快捷设置)(关闭系统自动亮度,自己实现智能亮度)
35-
- 屏幕亮度设置拖动条(与系统状态栏亮度条同步)
36-
- 最低硬件亮度拖动条(最低硬件亮度应设置为手机屏幕关闭类 DC 调光的阈值)
37-
- 最高滤镜不透明度拖动条,可以调整夜间全黑环境下最舒适的屏幕亮度
38-
- 高光照阈值拖动条(光照达到阈值,打开系统自动亮度,使屏幕能够达到最大激发亮度)
39-
- 亮度-光照曲线设置界面按钮
36+
## 应用原理
4037

41-
### 光照控制亮度逻辑
38+
详见 https://zhuanlan.zhihu.com/p/642886728
4239

43-
通过亮度-光照曲线来实现。点击主界面的亮度-光照曲线设置按钮,打开亮度-光照曲线设置界面。可以通过增减修改光照-亮度对应点来调整亮度-光照曲线。
40+
## 应用使用说明
41+
42+
- 屏幕滤镜开关:打开关闭屏幕滤镜;注意开启滤镜时不要开启系统纸质护眼,否则会造成花屏;支持状态栏快捷设置磁贴
43+
- 智能亮度开关:打开关闭智能亮度;控制屏幕实际亮度处于 [ 通过环境光照和亮度-光照曲线计算得的屏幕亮度 - 亮度调高容差, 通过环境光照和亮度-光照曲线计算得的屏幕亮度 + 亮度调低容差 ] 这个区间;支持状态栏快捷设置磁贴
44+
- 正常截屏:状态栏快捷设置磁贴,关闭屏幕滤镜截图,之后恢复屏幕滤镜
45+
- 在多任务界面隐藏:字面意思
46+
- 屏幕亮度设置:与系统状态栏亮度条同步
47+
- 亮光模式阈值:当环境光照超过阈值时,应用会自动关闭屏幕滤镜并打开系统自动亮度,从而使屏幕能够达到最大激发亮度
48+
- 暗光模式阈值:当环境光照低于阈值且屏幕亮度设置条(系统状态栏亮度条)被拖到最低时,设置屏幕亮度为最低值,即系统屏幕亮度为最低硬件亮度,滤镜不透明度为最高滤镜不透明度,屏幕实际亮度 = 最低硬件亮度 * ( 1 - 最高滤镜不透明度 )^2
49+
- 最低硬件亮度:最低硬件亮度应设置为手机屏幕关闭类 DC 调光的阈值
50+
- 最高滤镜不透明度:可以调为暗光模式下最舒适的屏幕亮度
51+
- 亮度调高容差:与智能亮度调节有关
52+
- 亮度调低容差:与智能亮度调节有关
53+
- 亮度-光照曲线设置界面:可以通过增减修改光照-亮度对应点来调整亮度-光照曲线
4454

45-
在满足亮度-光照曲线的同时,设置了一定的容差,使屏幕亮度不会频繁变化,也使用户能够在一定范围内选择亮度。
4655

4756
## 项目依赖
4857

@@ -52,19 +61,27 @@
5261

5362
可以直接用 Android Studio 打开项目。开发时使用的是 2022.2.1 版。
5463

55-
## 项目架构
64+
## 项目各模块简介
5665

5766
### GlobalStatus
5867

59-
使项目各模块解耦合。当一个模块要调用另一个模块的方法时,必须通过 GlobalStatus。
68+
使项目各模块解耦合。当一个模块要调用另一个模块的方法时,必须通过 GlobalStatus
69+
70+
### AppConfig
71+
72+
管理应用的配置
73+
74+
### Utils
75+
76+
通用的工具
6077

6178
### UI
6279

63-
与应用 UI 有关的模块位于 ui 文件夹下。
80+
与应用 UI 有关
6481

6582
### FilterViewManager
6683

67-
应用的核心模块,负责管理屏幕滤镜
84+
应用的核心模块,负责管理屏幕滤镜
6885

6986
### AppAccessibilityService
7087

app/release/app-release.apk

8.04 KB
Binary file not shown.

app/src/main/res/layout/activity_preparatory.xml

+3-7
Original file line numberDiff line numberDiff line change
@@ -37,20 +37,16 @@
3737
android:layout_height="match_parent"
3838
android:autoLink="web"
3939
android:text="
40-
1、项目源码:
40+
1、github 项目源码:
4141
\n
4242
https://github.com/cjyyx/ScreenFilter
4343
\n
4444
应用原理:
4545
\n
4646
https://zhuanlan.zhihu.com/p/642886728
47-
\n\n
48-
注意:
49-
\n- 支持直接拖动系统状态栏亮度条来控制亮度
50-
\n- 当环境光照较高时,应用会自动关闭屏幕滤镜并打开系统自动亮度,从而使屏幕能够达到最大激发亮度
51-
\n- 开启滤镜时不要开启系统纸质护眼,否则会造成花屏
47+
\n
5248
"
53-
android:textSize="14sp" />
49+
android:textSize="16sp" />
5450

5551
<View
5652
android:layout_width="match_parent"

app/src/main/res/layout/activity_readme.xml

+42-4
Original file line numberDiff line numberDiff line change
@@ -33,24 +33,62 @@
3333
android:layout_height="16dp" />
3434

3535
<TextView
36-
android:layout_width="300dp"
36+
android:layout_width="320dp"
3737
android:layout_height="match_parent"
3838
android:autoLink="web"
3939
android:text="
40-
1、项目源码:
40+
应用简介
41+
\n
42+
对于 OLED 屏幕的手机,一般情况下,屏幕亮度越低,频闪越强。本应用控制屏幕具有较高的亮度,并通过给屏幕添加一层不透明度可调的黑色滤镜来调节实际亮度,从而实现**低亮度下也有低频闪**的效果。
43+
44+
\n\n
45+
46+
项目源码
4147
\n
4248
https://github.com/cjyyx/ScreenFilter
4349
\n
44-
应用原理
50+
应用原理
4551
\n
4652
https://zhuanlan.zhihu.com/p/642886728
53+
54+
\n\n
55+
56+
下载地址
57+
\n
58+
下载链接 1:github release
59+
\n
60+
https://github.com/cjyyx/ScreenFilter/releases
61+
\n
62+
下载链接 2:蓝奏云
63+
\n
64+
https://wwis.lanzouq.com/b04whksif
65+
\n
66+
密码:1234
67+
4768
\n\n
69+
4870
注意:
4971
\n- 支持直接拖动系统状态栏亮度条来控制亮度
5072
\n- 当环境光照较高时,应用会自动关闭屏幕滤镜并打开系统自动亮度,从而使屏幕能够达到最大激发亮度
5173
\n- 开启滤镜时不要开启系统纸质护眼,否则会造成花屏
74+
75+
\n\n
76+
77+
解释:
78+
\n- 屏幕滤镜开关:打开关闭屏幕滤镜;注意开启滤镜时不要开启系统纸质护眼,否则会造成花屏;支持状态栏快捷设置磁贴
79+
\n- 智能亮度开关:打开关闭智能亮度;控制屏幕实际亮度处于 [ 通过环境光照和亮度-光照曲线计算得的屏幕亮度 - 亮度调高容差, 通过环境光照和亮度-光照曲线计算得的屏幕亮度 + 亮度调低容差 ] 这个区间;支持状态栏快捷设置磁贴
80+
\n- 正常截屏:状态栏快捷设置磁贴,关闭屏幕滤镜截图,之后恢复屏幕滤镜
81+
\n- 在多任务界面隐藏:字面意思
82+
\n- 屏幕亮度设置:与系统状态栏亮度条同步
83+
\n- 亮光模式阈值:当环境光照超过阈值时,应用会自动关闭屏幕滤镜并打开系统自动亮度,从而使屏幕能够达到最大激发亮度
84+
\n- 暗光模式阈值:当环境光照低于阈值且屏幕亮度设置条(系统状态栏亮度条)被拖到最低时,设置屏幕亮度为最低值,即系统屏幕亮度为最低硬件亮度,滤镜不透明度为最高滤镜不透明度,屏幕实际亮度 = 最低硬件亮度 * ( 1 - 最高滤镜不透明度 )^2
85+
\n- 最低硬件亮度:最低硬件亮度应设置为手机屏幕关闭类 DC 调光的阈值
86+
\n- 最高滤镜不透明度:可以调为暗光模式下最舒适的屏幕亮度
87+
\n- 亮度调高容差:与智能亮度调节有关
88+
\n- 亮度调低容差:与智能亮度调节有关
89+
\n- 亮度-光照曲线设置界面:可以通过增减修改光照-亮度对应点来调整亮度-光照曲线
5290
"
53-
android:textSize="16sp" />
91+
android:textSize="18sp" />
5492

5593
<View
5694
android:layout_width="match_parent"

其它/发布.md 其它/OLED 手机降低频闪原理介绍.md

+19-3
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,10 @@ SVM 值越高,频闪程度越高。而且 SVM 值是可以进行精确计算
4848

4949
![](PasteImage/2023-07-11-13-32-45.png)
5050

51+
up 主先看评测制作 app 先看频闪,同样展示了 OLED 手机屏幕 SVM 随屏幕亮度变化曲线
52+
53+
![](PasteImage/Screenshot_2023-08-19-20-19-45-946_com.xk.flash.jpg)
54+
5155
因此可以得出结论,一般情况下,OLED 屏幕亮度越高,频闪越低。结合分析 SVM 计算过程得到的结论,有降低屏幕频闪的方法:**维持屏幕在高亮度,通过增加一个不透明度可调节的黑色滤镜来控制屏幕实际亮度,从而实现在低亮度下也有低频闪**,这就是通过屏幕滤镜降低手机频闪的原理。
5256

5357
## 屏幕滤镜在安卓系统的实现
@@ -188,20 +192,32 @@ public class FilterViewManager {
188192

189193
对于 OLED 屏幕的手机,一般情况下,屏幕亮度越低,频闪越强。本应用控制屏幕具有较高的亮度,并通过给屏幕添加一层不透明度可调的黑色滤镜来调节实际亮度,从而实现**低亮度下也有低频闪**的效果。
190194

191-
项目源码: https://github.com/cjyyx/ScreenFilter
195+
github 项目源码: https://github.com/cjyyx/ScreenFilter
196+
197+
下载链接 1:github release
198+
199+
https://github.com/cjyyx/ScreenFilter/releases
192200

193-
下载链接: https://github.com/cjyyx/ScreenFilter/releases
201+
下载链接 2:蓝奏云
202+
203+
https://wwis.lanzouq.com/b04whksif
204+
205+
密码:1234
194206

195207
注意:
196208

197209
1. 支持直接拖动系统状态栏亮度条来控制亮度
198210
2. 当环境光照较高时,应用会自动关闭屏幕滤镜并打开系统自动亮度,从而使屏幕能够达到最大激发亮度
199211
3. 最低支持版本安卓11
212+
4. 本应用在开发时没有考虑兼容性,目前只能保证在我的手机上正常运行。我的手机系统是 MIUI14
213+
5. 开启滤镜时不要开启系统纸质护眼,否则会造成花屏
200214

201215
## 参考资料
202216

203217
[1] 低调的山, https://space.bilibili.com/394790691
204218

205219
[2] Navis-慢点评测, https://space.bilibili.com/8986182
206220

207-
[3] 维基百科, https://en.wikipedia.org/wiki/Stroboscopic_effect
221+
[3] 维基百科, https://en.wikipedia.org/wiki/Stroboscopic_effect
222+
223+
[4] 先看频闪, https://www.bilibili.com/video/BV1K14y1D7mg
Loading

其它/activity_readme.txt

+50
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+
应用简介
2+
\n
3+
对于 OLED 屏幕的手机,一般情况下,屏幕亮度越低,频闪越强。本应用控制屏幕具有较高的亮度,并通过给屏幕添加一层不透明度可调的黑色滤镜来调节实际亮度,从而实现**低亮度下也有低频闪**的效果。
4+
5+
\n\n
6+
7+
项目源码
8+
\n
9+
https://github.com/cjyyx/ScreenFilter
10+
\n
11+
应用原理
12+
\n
13+
https://zhuanlan.zhihu.com/p/642886728
14+
15+
\n\n
16+
17+
下载地址
18+
\n
19+
下载链接 1:github release
20+
\n
21+
https://github.com/cjyyx/ScreenFilter/releases
22+
\n
23+
下载链接 2:蓝奏云
24+
\n
25+
https://wwis.lanzouq.com/b04whksif
26+
\n
27+
密码:1234
28+
29+
\n\n
30+
31+
注意:
32+
\n- 支持直接拖动系统状态栏亮度条来控制亮度
33+
\n- 当环境光照较高时,应用会自动关闭屏幕滤镜并打开系统自动亮度,从而使屏幕能够达到最大激发亮度
34+
\n- 开启滤镜时不要开启系统纸质护眼,否则会造成花屏
35+
36+
\n\n
37+
38+
解释:
39+
\n- 屏幕滤镜开关:打开关闭屏幕滤镜;注意开启滤镜时不要开启系统纸质护眼,否则会造成花屏;支持状态栏快捷设置磁贴
40+
\n- 智能亮度开关:打开关闭智能亮度;控制屏幕实际亮度处于 [ 通过环境光照和亮度-光照曲线计算得的屏幕亮度 - 亮度调高容差, 通过环境光照和亮度-光照曲线计算得的屏幕亮度 + 亮度调低容差 ] 这个区间;支持状态栏快捷设置磁贴
41+
\n- 正常截屏:状态栏快捷设置磁贴,关闭屏幕滤镜截图,之后恢复屏幕滤镜
42+
\n- 在多任务界面隐藏:字面意思
43+
\n- 屏幕亮度设置:与系统状态栏亮度条同步
44+
\n- 亮光模式阈值:当环境光照超过阈值时,应用会自动关闭屏幕滤镜并打开系统自动亮度,从而使屏幕能够达到最大激发亮度
45+
\n- 暗光模式阈值:当环境光照低于阈值且屏幕亮度设置条(系统状态栏亮度条)被拖到最低时,设置屏幕亮度为最低值,即系统屏幕亮度为最低硬件亮度,滤镜不透明度为最高滤镜不透明度,屏幕实际亮度 = 最低硬件亮度 * ( 1 - 最高滤镜不透明度 )^2
46+
\n- 最低硬件亮度:最低硬件亮度应设置为手机屏幕关闭类 DC 调光的阈值
47+
\n- 最高滤镜不透明度:可以调为暗光模式下最舒适的屏幕亮度
48+
\n- 亮度调高容差:与智能亮度调节有关
49+
\n- 亮度调低容差:与智能亮度调节有关
50+
\n- 亮度-光照曲线设置界面:可以通过增减修改光照-亮度对应点来调整亮度-光照曲线

0 commit comments

Comments
 (0)