众所周知,许多Android应用在首次Activity关注之前会非常简短地显示白屏.在以下情况中会出现此问题:
扩展全局Application类并在其中执行主要初始化的Android应用程序.的Application
对象总是第一之前创建Activity(可在调试程序观察的事实),所以这是有意义的.这是我案件延误的原因.
在启动画面之前显示默认预览窗口的Android应用程序.
设置android:windowDisablePreview = "true"显然在这里不起作用.我也不能Theme.Holo.NoActionBar像这里描述的那样将启动画面的父主题设置为,因为[不幸的是]我的启动画面使用了一个ActionBar.
同时,不扩展Application课程的应用程序在启动时不会显示白屏.
事实上,理想情况下,在Application对象中执行的初始化需要在显示第一个之前进行Activity.所以我的问题是,如何在不使用Application对象的情况下在应用启动时执行这些初始化?可能是使用了Thread或者Service,我想?
这是一个值得思考的有趣问题.我不能以通常的方式绕过它(通过设置NoActionBar主题),因为可悲的是我的Splash屏幕实际上ActionBar由于一些无关的原因.
注意:
我已经提到了以下问题:
参考文献:
在Android studio的最新更新中,模拟器默认开始保存设备当前状态的快照,并在重新打开时返回到该快照,这不是我想要的行为.如何禁用它并返回到先前的行为,它只关闭并重置模拟器?
Android Studio 3.0.1,使用Emulator版本27.0.2和HAXM 6.2.1
我希望为通过 API 网关调用的 Lambda 分配一个静态 IP。这是必需的,因为我从此 lambda 调用的下游系统仅接受来自白名单 IP 的 Web 请求。
我通过与我的 lambda 关联的 VPC 成功地实现了这一点。但是 VPC 引入了一个糟糕的冷启动时间,有时范围为 12-16 秒。所以我正在寻找一种方法来防止这种从 VPC 冷启动,但同时为 lambda 分配一个静态 IP。
cold-start amazon-web-services amazon-vpc aws-lambda aws-api-gateway
以下代码(由Vitaliy Liptchinsky提供)遍历程序集中的所有类型,并在所有方法上调用PrepareMethod.这会改善冷启动延迟吗?
Thread jitter = new Thread(() =>
{
foreach (var type in Assembly.Load("MyHavyAssembly, Version=1.8.2008.8," +
" Culture=neutral, PublicKeyToken=8744b20f8da049e3").GetTypes())
{
foreach (var method in type.GetMethods(BindingFlags.DeclaredOnly |
BindingFlags.NonPublic |
BindingFlags.Public | BindingFlags.Instance |
BindingFlags.Static))
{
if (method.IsAbstract || method.ContainsGenericParameters)
continue;
System.Runtime.CompilerServices.RuntimeHelpers.PrepareMethod(method.MethodHandle);
}
}
});
jitter.Priority = ThreadPriority.Lowest;
jitter.Start();
Run Code Online (Sandbox Code Playgroud) 在我的项目中,有一个REST API,它在AWS API Gateway和AWS Lambda上实现.由于AWS Lambda函数在我们调用它时是无服务器且无状态的,因此AWS启动了一个容器,其中包含处理我们调用的Lambda函数代码.完成lambda函数执行后,根据AWS文档,AWS不会停止容器,我们可以处理该容器中的下一个调用.这种方法提高了服务的性能 - 仅在第一次调用AWS时花费时间来启动容器(Lambda函数的冷启动),并且所有下一次调用都执行得更快,因为它们使用相同的容器(热启动).
作为提高性能的下一步,我们创建了cron job,它定期调用我们的Lambda函数(我们使用Cloudwatch规则).这种方法允许保持Lambda功能"温暖",从而允许避免停止和重新启动容器.即当真实用户将调用我们的REST API时,Lambda将不会花时间来启动新容器.
但是我们遇到了这个问题 - 这种方法只允许保留一个Lambda函数的容器,而来自不同用户的实际并行调用数量可以更大(在我们的例子中是数百甚至数千个用户).有没有办法为Lambda函数实现预热功能,这不仅可以加热单个容器,还可以加热一些所需数量的容器?
我知道这样的方法会影响Lambda函数的使用成本,并且可能最好使用好的旧应用程序服务器,但是我认为,这些方法和它们的成本的比较将是接下来的步骤,并且在当前时刻我我想只想找到一种方法来加热所需的Lambda函数容器数.
performance cold-start amazon-web-services amazon-cloudwatch aws-lambda
Firebase 于 2021 年 9 月宣布,现在可以以某种方式配置其云功能自动缩放,以便一定数量的实例始终运行(https://firebase.google.com/docs/functions/manage-functions #最小-最大-实例)。
我已尝试进行设置,但无法使其工作: 首先,我在 Google Cloud Console 中设置了最小实例数:Cloud Console Screenshot 执行此操作后,我预计该云函数的一个实例将运行在任何时候。该函数的指标表明它的实例仍缩减为 0:云函数“活动实例指标”
所以对我来说,看起来好像我的设置在这里被忽略了。我错过了什么吗?Google Cloud Console 向我显示最小实例数已设置为 1,因此它似乎知道这一点,但忽略它。此功能仅在某些地区可用吗?
我还尝试使用 Firebase SDK for Cloud Functions ( https://www.npmjs.com/package/firebase-functions )设置最小实例数。这给了我相同的结果,我的设置仍然被忽略。
我记得lightfm的一个优点是模型没有冷启动问题,用户和物品冷启动:lightfm原纸
但是,我仍然不明白如何使用lightfm来解决冷启动问题.我训练了我的模特user-item interaction data.据我所知,我只能对我的数据集上存在的profile_ids进行预测.
def predict(self, user_ids, item_ids, item_features=None,
user_features=None, num_threads=1):
"""
Compute the recommendation score for user-item pairs.
Arguments
---------
user_ids: integer or np.int32 array of shape [n_pairs,]
single user id or an array containing the user ids for the
user-item pairs for which a prediction is to be computed
item_ids: np.int32 array of shape [n_pairs,]
an array containing the item ids for the user-item pairs for which
a prediction is to be computed.
user_features: np.float32 …Run Code Online (Sandbox Code Playgroud) python recommendation-engine cold-start matrix-factorization
我很好奇克服"冷启动"问题的方法/方法是什么,当新用户或项目进入系统时,由于缺乏关于这个新实体的信息,推荐是一个问题.
我可以考虑做一些基于预测的推荐(如性别,国籍等).
有没有人知道为什么在重启机器(即冷启动)后启动.net应用程序的速度非常慢?
在谷歌研究后,我发现了一些加速它的线索,即
这足以让我的.net应用程序更快或其他任何东西在那里,我失踪了吗?
应用启动时,如何判断是否冷启动?冷启动是指应用从一开始就启动,而不是从之前的状态恢复。
:编辑: 详细说明我的问题:我试图找到应用程序的启动模式:冷启动或热启动。冷启动意味着应用程序之前从未启动或不在后台启动,因此需要完整启动。热启动意味着它仍在后台,因此可以更快地恢复和启动。如何以编程方式区分这两种启动模式?
cold-start ×10
android ×3
aws-lambda ×2
c# ×2
performance ×2
.net ×1
amazon-vpc ×1
boot ×1
firebase ×1
java ×1
prediction ×1
python ×1
wpf ×1
xaml ×1