【问题标题】:UWP _isInBackgroundModeUWP _isInBackgroundMode
【发布时间】:2023-04-02 22:35:02
【问题描述】:

我的代码有问题。

表示值已设置,但未使用...

我在 bool _isInBackgroundMode = false; 下得到了漂亮的绿线;

我在这里没有得到什么?

namespace MyApp
{
using Views;
using Windows.UI;
using Windows.UI.ViewManagement;

sealed partial class App : Application
{
    bool _isInBackgroundMode = false;

    public App()
    {
        this.InitializeComponent();
        this.Suspending += OnSuspending;

        this.EnteredBackground += App_EnteredBackground;
        this.LeavingBackground += App_LeavingBackground;

    }

    private void App_EnteredBackground(object sender, EnteredBackgroundEventArgs e)
    {
        _isInBackgroundMode = true;
    }

    private void App_LeavingBackground(object sender, LeavingBackgroundEventArgs e)
    {
        _isInBackgroundMode = false;
    }

【问题讨论】:

    标签: c# uwp


    【解决方案1】:

    这是因为您没有任何代码读取该值。截至目前;或者至少你所展示的;您只是在设置值,并没有实际使用它(从哪里读取)。

    一旦你编写了类似这样的代码

    if (_isInBackgroundMode)
        doSomething();
    

    然后绿线会消失。

    【讨论】:

    • 文档说我需要设置 bool _isInBackgroundMode = false;所以我可以用我的私人空隙来切换它......我也在看例子,这就是他们在其中所做的,即使在官方样本中也是如此。没有太多信息或例子显示这方面的用法......甚至没有确定把什么作为 dosomething() 因为我正在做的是在私人空间中,我没有看到这样做的例子。
    • 我有点困惑。什么方法或对象正在使用 _isInBackgroundMode 字段?仅仅因为您设置了该字段并不意味着它已被使用。除非有一些底层框架访问该字段,否则它可能已经存在。您正在创建一个新字段,如果未使用它,那么您将收到该信息警告。仅仅因为您设置了该字段并不意味着它会做任何事情。
    • 这是我使用的文档...也许您可以比我做得更好..link
    • 是的。在您当前的代码中,它没有被使用,因此您会收到该信息警告。这只是为了让您可以查看一个变量来确定您在执行其他操作时是否在后台。看看这个link 和第 5 块代码示例,它显示他们检查 isInBackgroundMode 字段以确定是否减少内存。换句话说,您可以随意调用它,但这只是一种简单的方法来跟踪您是否在后台运行应用程序的其他区域。
    猜你喜欢
    • 2019-06-12
    • 2021-03-09
    • 2017-09-03
    • 2020-04-20
    • 1970-01-01
    • 2017-03-08
    • 1970-01-01
    • 1970-01-01
    • 2016-10-24
    相关资源
    最近更新 更多