在他们的应用中加载Google Play 7.5.0时有没有人遇到此崩溃?我现在每天看到大约30次崩溃,没有任何重现的方法.没有特别的Android风味(4.4,5,5.1)或设备(三星,HTC等)正在向我伸出.
java.lang.RuntimeException: Unable to start service com.google.android.gms.analytics.AnalyticsService@1153b3b0 with null: java.lang.NullPointerException
at android.app.ActivityThread.handleServiceArgs(ActivityThread.java:2721)
at android.app.ActivityThread.access$1900(ActivityThread.java:141)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1353)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:137)
at android.app.ActivityThread.main(ActivityThread.java:5116)
at java.lang.reflect.Method.invokeNative(Method.java)
at java.lang.reflect.Method.invoke(Method.java:525)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:787)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:600)
at dalvik.system.NativeStart.main(NativeStart.java)
Caused by: java.lang.NullPointerException
at com.google.android.gms.analytics.AnalyticsService.onStartCommand()
at android.app.ActivityThread.handleServiceArgs(ActivityThread.java:2704)
at android.app.ActivityThread.access$1900(ActivityThread.java:141)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1353)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:137)
at android.app.ActivityThread.main(ActivityThread.java:5116)
at java.lang.reflect.Method.invokeNative(Method.java)
at java.lang.reflect.Method.invoke(Method.java:525)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:787)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:600)
at dalvik.system.NativeStart.main(NativeStart.java)
Run Code Online (Sandbox Code Playgroud)
此问题也已在Analytics错误跟踪器上发布,但我预计不会在那里看到任何移动:https://code.google.com/p/analytics-issues/issues/detail?id = 667
这是我的Gradle文件中的内容:
compile 'com.google.android.gms:play-services:7.5.0'
Run Code Online (Sandbox Code Playgroud)
在我的AndroidManifest中(我认为这是Google文档的逐字记录):
<receiver
android:name="com.google.android.gms.analytics.AnalyticsReceiver"
android:enabled="true" >
<intent-filter>
<action android:name="com.google.android.gms.analytics.ANALYTICS_DISPATCH" />
</intent-filter> …Run Code Online (Sandbox Code Playgroud) 我最近开始在Android应用程序中使用libVLC,目的是替换我们花很多钱购买的商业SDK,但看不到希望的结果。该应用程序要求尽可能接近实时地查看RTSP流。理想情况下为500毫秒或更长时间(取决于平板电脑),而延迟不会随时间漂移。
退出用于libVLC的商业SDK的过程几乎是无缝的,并且可以立即进行,但延迟只有几秒钟(无需更改任何默认设置)。它可以非常快速地连接到RTSP流,并且不会断开连接。
我花了几天的时间来调整各种设置,以尽可能减少延迟。在某些情况下,我会得到300ms的延迟,最终流会下降到几秒钟的延迟,然后流会丢失并重新启动(然后延迟舞会再次开始)。在其他情况下(我猜我将网络缓存设置得太低时),我会得到充满错误的日志,并且从不获取图片。
我当前的设置是:
val media = Media(libVLC, Uri.parse(streamUrl))
media.setHWDecoderEnabled(true, false)
media.addOption(":network-caching=300")
media.addOption(":clock-jitter=0")
media.addOption(":clock-synchro=0")
Run Code Online (Sandbox Code Playgroud)
如果我将其设置network-caching为小于200的任何值,我将永远看不到图像(我读到某处的图像可能是因为平板电脑的解码器延迟时间高于200毫秒)。
无论如何,我发现十年来有数十种可能的答案,有些是相似的,有些是冲突的,有些使用了已弃用的标志。一些值得注意的:
2019:https : //forum.videolan.org/viewtopic.php? t =149511
m.AddOption(":network-caching=150");
m.AddOption(":clock-jitter=0");
m.AddOption(":clock-syncro=0");
Run Code Online (Sandbox Code Playgroud)
2018:Android LibVLC选项不起作用
options.add("--network-caching=50");
options.add("--clock-jitter=0");
options.add("--clock-synchro=0");
Run Code Online (Sandbox Code Playgroud)
2017:减少在Android上使用libvlc播放rtp流时的延迟
LibVLC libVlc = new LibVLC(context, arrayListOf(
"--file-caching=150",
"--network-caching=150",
"--clock-jitter=0",
"--live-caching=150",
"--clock-synchro=0",
"-vvv",
"--drop-late-frames",
"--skip-frames"
));
...OR...
media.setHWDecoderEnabled(true, false);
media.addOption(":network-caching=150");
media.addOption(":clock-jitter=0");
media.addOption(":clock-synchro=0");
Run Code Online (Sandbox Code Playgroud)
2015年:https://forum.videolan.org/viewtopic.php?f = 35&t = 124932&p = 420020&hilit = latency#p420020
Set network cache to 500, and disable HW acceleration
Run Code Online (Sandbox Code Playgroud)
2015年:减少流媒体和实时流媒体方法的延迟
mLibvlc.setDevHardwareDecoder(LibVLC.DEV_HW_DECODER_AUTOMATIC); …Run Code Online (Sandbox Code Playgroud) 我是一个初学者像素着色器作家,我遇到了一些麻烦。我想获取一个 256x256、16 位输入 (DXGI_FORMAT_R16_UINT) 图像,并通过一个 256x256 查找纹理 (DXGI_FORMAT_R8_UNORM) 将其转换为 256x256 8 位输出。
不幸的是,我似乎遇到了很多麻烦,输出似乎总是钳制为黑色或白色。
此外,我不确定我应该使用哪种 DXGI 格式,以及哪种数据类型与每种格式相关。
// Global Variables
Texture2D<uint> imgTexture : register( t0 );
Texture2D lutTexture : register( t1 );
SamplerState SampleType : register( s0 );
// Structures
struct PS_INPUT
{
float4 Pos : SV_POSITION;
float2 Tex : TEXCOORD0;
};
// Pixel Shader
float4 PS( PS_INPUT input) : SV_Target
{
uint pixelValue = imgTexture[input.Tex];
uint2 index = { pixelValue / 256, pixelValue % 256 };
// uint row = …Run Code Online (Sandbox Code Playgroud) iOS应用程序以中央模式运行,BLE外围设备(例如BLE113)具有加密的GATT特性 - 当iOS应用程序扫描并连接到外围设备时,它会在发现加密的GATT特征时自动请求配对.
如果iOS设备和BLE外围设备都保持配对,一切都很好.
但是,如何处理BLE外设在内部删除所有绑定信息的情况,而不通知iOS设备它正在删除配对键?
iOS CoreBluetooth命令将失败.
有什么可以通过编程方式来解决这个问题吗?要么重新请求配对,要么取消配对iOS端?
iOS受蓝牙限制很多 - 所以我看不到很多好的解决方案,除了检测写入失败时,还要求用户手动取消配对(这是蹩脚的)
环境:Mac 10.12.6,Word 2016(16.11.1),@ microsoft/office-js"^ 1.1.4"
我想知道在如何使用CustomXMLParts方面有任何指导方针或最佳实践,以便最大限度地提高读/写性能,或者是否有一种"理想"方式来为同一目的在XML部件中建模数据.
我正在编写一个加载项,我需要在可见文档之外保留一些数据,但是在docx文件中.
例如,我存储了一张发票清单(可能是100-200张发票),每张发票都有典型的结构化数据(名称,ID,日期,工作项列表)和自由式备注部分,最多可包含5个-10kb的文字,说明等
我拿这些发票,在Word文档中渲染其中一些,然后在任务窗格中对其余数据进行一些可视化分析 - 用户可以将注释写入(并保存)回自定义XML部件(到该发票中)他们正在看).
现在......这里我有点困惑......我不确定将每张发票作为单独的CustomXMLPart存储在文件中是否更好(例如每张发票1个XML文件),或者是否最好存储所有发票在单个大型CustomXMLPart中,或者如果存在中间地点(例如,每个XML部分有10个发票).如上所述,用例是回读所有发票,然后偶尔更新10-20%的发票中的数据.
现在,我正在为每个XML部分存储1个发票,当我加载我的插件并进行批量读取以将所有内容都存入内存时,每个发票需要250-500平方英寸才能将它们并行读取(所以,250-500ms*100-200发票).顺序地,它需要更长的时间(2-3倍长).使用performance.now()使用挂钟计时进行测试.
这似乎很长一段时间,所以我不知道我是否做错了 - 或者这只是从这些文件中打开和提取数据所需的时间?
// Sequential example - excluding error handling and type-safety
// Parallel equivalent is essentially a Promise.all with a .map
// Approx 50ms
let result = await this.xmlPartsHelper.getByNamespaceAsync(...);
for (const item of result.value) {
// Approx 150-200ms
result = await this.xmlPartsHelper.getByIdAsync(item.id);
// Approx 150-200ms
result = await this.xmlPartsHelper.getXmlAsync(result.value);
// Approx 5ms
const invoice = this.mapper.reverseMap(result.value);
invoices.push(invoice)
}
Run Code Online (Sandbox Code Playgroud)
我使用Promises手动包装Office-JS回调,但我已经使用async/await,然后是/ catch和office-js回调测试了这个示例 - 结果大致相同.
public getByNamespaceAsync(namespace: string): Promise<Office.AsyncResult> …Run Code Online (Sandbox Code Playgroud) android ×2
bluetooth ×1
crash ×1
direct3d11 ×1
google-api ×1
google-play ×1
hlsl ×1
ios ×1
iphone ×1
libvlc ×1
ms-word ×1
office-js ×1
officedev ×1
pixel-shader ×1
swift ×1
vlc ×1
vlc-android ×1