标签: single-instance

仅允许一个应用程序实例

我很抱歉我的头衔可能让你感到困惑(我只是不知道应该用什么词).我的问题是我不想让用户多次打开我的应用程序.请帮忙.先感谢您.

vb.net single-instance

7
推荐指数
1
解决办法
1万
查看次数

Kotlin:Java无法解决Kotlin Symbol?

我有一个像下面的Kotlin代码,SingleKotlin.instance可以被其他Kotlin文件调用

class SingleKotlin private constructor(){
    companion object {
        val instance by lazy {
            SingleKotlin()
        }
    }

}
Run Code Online (Sandbox Code Playgroud)

但是,当我尝试SingleKotlin.instance从java 调用时,它显示无法解析符号'instance'

我不明白为什么,任何人都可以探索,我该如何解决这个问题?

java single-instance kotlin

7
推荐指数
1
解决办法
2660
查看次数

在java中限制应用程序的多个实例

我想阻止在java中启动多个应用程序实例.我知道2种方法:

  1. 锁定文件
  2. 锁定插座

但哪一种更有效,更好用?我应该使用哪一个?

任何其他做同样的解决方案也是受欢迎的.

java swing multiple-instances single-instance

6
推荐指数
1
解决办法
4220
查看次数

带有参数传递的Java桌面应用程序的单个实例

我想一次只运行一个Java Swing应用程序实例.如果打开第二个实例,我希望它将其参数传递给已经运行的实例.我怎样才能使用漂亮,干净的Java API?(我不想自己使用套接字或文件系统锁来实现它).

我已经看到了许多用于在Java中实施单个实例的解决方案,但我所知道的唯一一个将参数传递给正在运行的实例的是使用JNLP的SingleInstanceService,而我不是在编写Java Web启动应用程序,所以我可以'使用这个(我尝试时得到了NullPointerException).

java desktop-application single-instance

6
推荐指数
1
解决办法
1728
查看次数

如果按下后退按钮,android singleinstance活动不单

我遇到了一个有趣的问题,即Activity被多次创建,甚至它被定义为清单中的singleTask或singelInstance活动.以下是如何重现这一点.比如,在主要活动中:

@Override
protected void onResume() {
    Intent i = new Intent(MainActivity.class, SingleActivity.class);
    startActivity(i);
}
Run Code Online (Sandbox Code Playgroud)

在我的SingleActivity中,我有:

@Override
protected void onCreate(Bundle savedInstanceState) {
    ...
    Log.i("SingleActivity", "onCreate " + System.identityHashCode(this));
    ...
}
Run Code Online (Sandbox Code Playgroud)

在清单中,我有:

    <activity android:name=".SingleActivity"
              android:launchMode="singleInstance"
    />
Run Code Online (Sandbox Code Playgroud)

现在,如果我启动应用程序,事情似乎没问题,在一种情况下可以预期:如果我SingleActivity在前面按下"后退"按钮,它会导航回到MainActivity,在那里MainActivity.onResume()将创建另一个SingleActivity实例,而不是提出已经存在的实例.这是我所知道的,因为在日志中,会显示不同的身份哈希码.

如果启动模式是singleTask,则同样如此.

唯一的解决方法似乎是覆盖onBackPressed(),但这似乎是一个丑陋的解决方案.

我不知道我做错了什么

android single-instance launchmode android-activity

6
推荐指数
2
解决办法
6730
查看次数

我什么时候应该使用惰性单例而不是普通单例?

到目前为止,我已经看到了两个单身人士的例子。

普通单身人士,

public class Singleton {
  private static Singleton instance;

  static {
    instance = new Singleton();
  }

  private Singleton() { 
    // hidden constructor
  }    

  public static Singleton getInstance() {
    return instance;
  }
}
Run Code Online (Sandbox Code Playgroud)

和懒惰的单身人士,

public class Singleton {

  private Singleton() { 
    // hidden constructor
  }

  private static class Holder {
    static final Singleton INSTANCE = new Singleton();
  }

  public static Singleton getInstance() {
    return Holder.INSTANCE;
  }
}
Run Code Online (Sandbox Code Playgroud)

编码来自这个线程和这个用户。我最近才开始尝试学习单身人士,因为我以前的方法是

1.) 使用静态来创建类似......

static MyClass instance;
Run Code Online (Sandbox Code Playgroud)

2.) 我会尝试以一种看似奇怪的方式传递一个实例,

MyClass …
Run Code Online (Sandbox Code Playgroud)

java single-instance

6
推荐指数
2
解决办法
2678
查看次数

Saas:单实例、多实例、单租户、多租户?

我一直在阅读有关实例和租户以及 Saas 架构的内容。我的问题如下(如果您发现我对以下任何术语有错误,请更正):

1)实例:一个软件的实例是否只是该软件的一个副本,有自己的数据库?还有比这更重要的事情吗?

2)租户:租户是对单个实例共享一组通用访问权限的用户/用户组吗?

3)单实例:如果 Saas 提供商提供单实例服务,这是否意味着他们只创建其软件的单个实例?或者这是否意味着可以有多个实例,但每个实例可以为多个租户提供服务?如果是这样,单实例与多租户相同吗?

4)多实例:这是否意味着每个实例只能服务一个租户,或者是否可以有多个实例,每个实例服务多个租户?IE。多实例服务可以是单租户或多租户吗?

5)单租户:这是否仅仅意味着单个实例只能为一个租户提供服务,还是也意味着存在多个实例?IE。单租户服务可以同时是单实例和多实例吗?

6)多租户:这是否仅仅意味着单个实例可以为多个租户提供服务,还是意味着只有一个实例?IE。多租户服务可以同时是单实例和多实例吗?

7)总结一下:可以单实例+单租户、单实例+多租户、多实例+单租户、多实例+多租户吗?

saas single-instance multi-tenant multi-instance-deployment server

6
推荐指数
1
解决办法
3340
查看次数

C# dot net core 单实例应用程序将参数传递给第一个实例

最近,我决定将我的一个用 C# 编写并针对.NET Framework 4.5 的 WPF Windows 桌面应用程序迁移到最新的.NET Core 3.1。一切都很好,直到我必须添加对单实例应用程序的支持,同时能够将任何参数从第二个实例传递到第一个运行实例。我之前针对单实例应用程序的 WPF 实现是使用System.Runtime.Remoting,这在 .NET Core 中不可用。因此我必须做一些新的事情。下面是我想出的实现。它工作得很好,但我觉得它可以改进。请随意讨论和改进建议的解决方案。

我创建了一个 SingleInstanceService,它使用信号量来指示它是否是第一个实例。如果它是第一个实例,我将创建一个 TcpListener 并无限期地等待从第二个实例传递的任何参数。如果启动了第二个实例,则我将第二个实例的参数发送到第一个侦听实例,然后退出第二个实例。

internal class SingleInstanceService
{
    internal Action<string[]> OnArgumentsReceived;

    internal bool IsFirstInstance()
    {
        if (Semaphore.TryOpenExisting(semaphoreName, out semaphore))
        {
            Task.Run(() => { SendArguments(); Environment.Exit(0); });
            return false;
        }
        else
        {
            semaphore = new Semaphore(0, 1, semaphoreName);
            Task.Run(() => ListenForArguments());
            return true;
        }
    }

    private void ListenForArguments()
    {
        TcpListener tcpListener = new TcpListener(IPAddress.Parse(localHost), localPort);
        try
        {
            tcpListener.Start();
            while …
Run Code Online (Sandbox Code Playgroud)

c# parameter-passing single-instance .net-core

6
推荐指数
1
解决办法
2087
查看次数

Django“单例模型”存储用户设置

我正在使用 Django 构建一个网络应用程序。我希望能够存储我的应用程序的最终用户设置。现在我正在使用一个模型设置,其中包含应用程序所需的所有内容。
看起来不错,但我认为这不是正确的方法,因为我的数据库中可能有第二行,但我不想要它。
我虽然考虑使用文件,但它不像数据库中的表那么容易管理。

有人可以帮我吗?

谢谢 !:)

路易松

python django settings singleton single-instance

6
推荐指数
1
解决办法
3805
查看次数

Android的overridePendingTransition和singleInstance

在将活动的launchMode更改为"singleInstance"后,我遇到了一个不能使用overridePendingTransition的问题.我很想听听你的意见

我正在开发一个应用程序来浏览一副纸牌.为了简单起见,让我们假设应用程序包含两个活动card_deckcard.点击card_deck活动中的任意位置即可打开卡片活动.然后,您可以在卡片活动中向左或向右滑动以打开卡片中的下一张/上一张卡片.我有一个整洁的进入和退出动画,通过刷卡发生.

以下是android活动堆栈的外观

在此输入图像描述

正如你现在猜到的那样,有很多类型卡的活动.

我将card活动的launchMode从标准更改为singleInstace(我还有另一个与adMob相关的原因,就是使用singleInstance路由).现在,当我调用以下代码片段时,动画不再出现.

from Card.class

Intent intent = new Intent(activity, Card.class);
activity.startActivity(intent);
activity.overridePendingTransition(enterAnim, exitAnim);
Run Code Online (Sandbox Code Playgroud)

我认为动画被抑制了,因为只有一种类型卡的活动,并且它的onCreate不会被调用('cos使其成为单一实例).我也尝试在onNewIntent()/ onResume()上调用overridePendingTransition(),但它没有帮助.

简而言之,当'A'的launchMode为singleTop/singleInstance时,如何从A.class调用startActivity(activity,A.class)时显示进入和退出动画

animation android transition single-instance

5
推荐指数
0
解决办法
1600
查看次数