小编Jas*_*bek的帖子

WorkManager 导致广播 ANR

我正在使用新库WorkManager 进行定期工作和一次性工作请求。目前使用的lib版本是1.0.0,最小SDK是21,编译是28。

工作管理器按照文档中的描述完成工作,但会导致在 Play 商店控制台中看到大量 ANR。

我正在使用代码来触发工作,例如:

     WorkManager.getInstance().enqueueUniquePeriodicWork(
                tag,
                ExistingPeriodicWorkPolicy.KEEP,
                workRequest
        )
and         WorkManager.getInstance().enqueue(workRequest)
Run Code Online (Sandbox Code Playgroud)

最常见的 ANR 来自带有封装的广播接收器,androidx.work.impl.background.systemalarm.RescheduleReceiver这主要是 OnePlus 手机的问题。我发现,在工作管理问题追踪某种联系的问题,但这个国家的bug修复在以前的版本这个问题。尽管如此,按照跟踪器中提到的步骤,我看到日志显示此问题在 1.0.0 版中仍然存在。我所看到的 ANR 无法在我拥有的测试设备上重现。

android android-anr-dialog kotlin android-jetpack androidx

8
推荐指数
1
解决办法
963
查看次数

react-native-video 需要很长时间才能开始播放

在将我的应用升级到 react-native 0.59 时,我也升级react-native-video到了它的最新版本 4.4.1。当前发生的情况是,当尝试使用此库播放视频时,视频需要一段时间才能播放。视频的大小似乎无关紧要。视频存储在 S3 上,在我的测试环境中,视频由 链接Cloudfront,在我的本地环境中,视频由 S3 位置链接,但两种环境表现出的行为相同。

这仅适用于 Android,iOS 播放功能可在 1 秒内为相同视频准备就绪。

我尝试回滚react-native-video到以前的兼容版本,问题仍然存在。

不同的设备有不同的播放可用性等待时间。

由于使用需要 SDK 28 的 Firebase 版本,我无法使用 SDK 27。

IOException初始化组件以获取 S3 资源时会引发一个问题,但库最终确实获取了视频。

我不知道问题的确切原因,库是否在播放前下载视频,或者请求中是否需要包含标头。

这是尝试播放视频时的调试输出:

I/MediaPlayer: constructor
W/MediaPlayer: setScreenOnWhilePlaying(true) is ineffective without a SurfaceHolder
V/MediaPlayer: resetDrmState:  mDrmInfo=null mDrmProvisioningThread=null mPrepareDrmInProgress=false mActiveDrmScheme=false
    cleanDrmObj: mDrmObj=null mDrmSessionId=null
V/MediaPlayer: resetDrmState:  mDrmInfo=null mDrmProvisioningThread=null mPrepareDrmInProgress=false mActiveDrmScheme=false
    cleanDrmObj: mDrmObj=null mDrmSessionId=null
I/MediaPlayer: setDataSource:<S3-url>/video.mp4
W/MediaPlayer: Couldn't open <S3-url>/video.mp4: java.io.FileNotFoundException: No content provider: <S3-url>/video.mp4
I/MediaPlayer: setDataSource:<S3-url>/video.mp4
V/MediaHTTPService: MediaHTTPService(android.media.MediaHTTPService@cefd526): Cookies: …
Run Code Online (Sandbox Code Playgroud)

android react-native react-native-video

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

如何让一个集团在全球范围内变得可访问

我正在努力将块模式放入我的 Flutter 应用程序中。我使用这个库是为了让它对我来说更简单: https: //felangel.github.io/bloc/#/

\n\n

我有一个主要问题。如何让我的 Bloc 在全球范围内都可访问,而不需要一次又一次地传递下去?

\n\n

这是我的代码:

\n\n

主要.dart:

\n\n
import \'package:flutter/material.dart\';\nimport \'package:flutter_bloc/flutter_bloc.dart\';\n\nimport \'db_bloc.dart\';\nimport \'NotesPage.dart\';\n\nvoid main() => runApp(MyApp());\n\nclass MyApp extends StatefulWidget {\n  @override\n  State<StatefulWidget> createState() => MyAppState();\n}\n\nclass MyAppState extends State<MyApp> {\n  final DatabaseBloc _dbNoteBloc = DatabaseBloc();\n\n  @override\n  Widget build(BuildContext context) {\n    return MaterialApp(\n      title: \'Flutter Demo\',\n      home: BlocProvider<DatabaseBloc>(\n        bloc: _dbNoteBloc,\n        child: NotesPage(),\n      ),\n    );\n  }\n\n  @override\n  void dispose() {\n    _dbNoteBloc.dispose();\n    super.dispose();\n  }\n}\n
Run Code Online (Sandbox Code Playgroud)\n\n

注释页:

\n\n
import \'package:flutter/material.dart\';\nimport \'package:flutter_bloc/flutter_bloc.dart\';\n\nimport \'db_bloc.dart\';\nimport \'note_model.dart\';\n\nclass NotesPage extends StatefulWidget {\n  _NotesPageState createState() …
Run Code Online (Sandbox Code Playgroud)

flutter bloc

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

无法为WebView创建图层,大小为640x7040,最大大小为8192,颜色类型4具有上下文1

我WebView在ScrollView中使用,并且IllegalStateException在Samsung SM-J610F上使用。在我测试过此代码的其他设备上,它运行正常。

当我取出来WebView时ScrollView效果很好。但是问题在于,我在WebView下面还有其他视图,如果不使用ScrollView,则用户将无法看到这些视图。

Font Cache (CPU):
      Size: 103.02 kB 
      Glyph Count: 37 
    CPU Caches:
      Shadows: 4.22 KB (2 entries)
    GPU Caches:
      Other:
        Buffer Object: 63.00 KB (2 entries)
      Image:
        Texture: 1.81 MB (28 entries)
             Texture( 1):      168840 Byte (count:8)
             Texture( 2):       54288 Byte (count:1)
             Texture( 3):       44100 Byte (count:1)
             Texture( 4):       31684 Byte (count:6)
             Texture( 5):       29580 Byte (count:1)
             Texture( 6):       29568 Byte (count:1)
             Texture( 7):       29232 Byte (count:3)
             Texture( …
Run Code Online (Sandbox Code Playgroud)

java android webview samsung-mobile

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

[GMSx_GMPCClientVectorTileExtensionsRoot InteriorBuildingMetadata]:无法识别的选择器发送到类 0x1028e2450

在我的项目中,我添加了一个 Google 地图 pod,因此我有带有 Google 地图的项目 A,框架也有 Google。因此,项目 A 和框架 B 都有 Google 地图 当我添加框架时,我在打开地图视图时面临崩溃

在进行调试时,如果我从框架 B 中删除谷歌地图并将框架添加到项目中,它不会崩溃

据我了解,崩溃的原因是在项目 A 和框架 B 中添加了 Google Map Pod

有人有解决这个问题的想法吗?

[GMSx_GMPCClientVectorTileExtensionsRoot indoorBuildingMetadata]: unrecognized selector sent to class 0x1028e2450
2019-06-25 12:58:15.905674+0530 Boost[535:26666] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '+[GMSx_GMPCClientVectorTileExtensionsRoot indoorBuildingMetadata]: unrecognized selector sent to class 0x1028e2450'
*** First throw call stack:
(0x1f68d5ea4 0x1f5aa5a50 0x1f67f3bbc 0x1f68db7bc 0x1f68dd46c 0x101393d48 0x1013fedc8 0x1013fe3b4 0x101409264 0x101405fe0 0x101401614 0x10123aaa8 0x10123a3fc 0x106c27824 0x106c28dc8 0x106c2c1c4 0x106c2b604 0x106c3a1dc 0x106c3abc8 0x1f64f117c …
Run Code Online (Sandbox Code Playgroud)

frameworks google-maps static-libraries cocoapods swift

6
推荐指数
0
解决办法
821
查看次数

我如何最好地使用 flutters MethodChannel.invokeMenthod 的 java 版本给出多个参数?

我有一个 flutter 项目(插件),它也使用了一些本机 java 代码。为了在 dart 和 java 之间进行通信,我使用MethodChannel.invokeMethod. 这在 dart for java 中非常有效,我可以call.argument("name")在 java 中提取命名参数。然而,另一种方法是让我有点头疼,因为我需要通过我的方法调用将可变数量的参数传递给 dart,但 invokeMethod 只接受“ Object”作为参数。

我已经看到它只适用于单个参数,如字符串或整数,但我似乎无法找到一种为多个参数实现它的好方法。

我原以为有某种列表对象类型可以作为 invokeMethod 的参数传递,但我无法在任何地方找到它。

你们中的任何人都可以提供有关如何最好地做到这一点的提示吗?

java flutter

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

cURL 命令到带有 json 数据的 Axios 请求

我让这个 cURL 请求在远程接口上正常工作

curl -XGET "https://server.host:8080/peregrine" -d '{"exchanges":["kucoin", "kraken"],"volume":10}' -k
Run Code Online (Sandbox Code Playgroud)

我正在尝试使用 Vue.js 构建一个小的前端应用程序,并且需要将上述内容转换为 Axios get 请求。到目前为止,我一直在尝试以下方法:

axios({
      method: 'get',
      url: 'https://server.host/peregrine',
      data: {"exchanges":["kucoin", "kraken"],"volume":10}
    });
Run Code Online (Sandbox Code Playgroud)

putparams而不是data使它成为一个 URL,远程服务器说它没有收到任何数据。

我究竟做错了什么?谢谢。

javascript curl axios

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

LiveData,注册观察者时如何避免第一次回调

我想在片段中加载任务,在片段的onViewCreated中,我注册观察者LiveData,在片段的onResume中,我异步加载任务,当第一次进入片段时,它工作正常,但是当我导航到其他片段然后返回任务时片段,回调onChanged()将被调用两次。

我知道如果LiveData已经有数据集,它会被传递给观察者,所以当回到任务片段时,onChanged会在注册观察者时触发onViewCreated,而在onResume中,会触发onChanged第二次,我想知道如何避免这种情况。我查了很多,知道有一个EventWrapper,可以标记 onChanged 第一次触发时消耗的内容。但我觉得这种做法太重了。抱歉我的英语不好...

@Override
public void onViewCreated(@NonNull View view, @Nullable Bundle 
   savedInstanceState) {
    super.onViewCreated(view, savedInstanceState);
    //...
    mainViewModel = ViewModelProviders.of(getActivity()).get(MainViewModel.class);
    mainViewModel.increaseTaskList.observe(getViewLifecycleOwner(), new 
    Observer<List<Task>>() {
        @Override
        public void onChanged(@Nullable List<Task> tasks) {
            Log.d("ZZZ","data changed,IncreaseTaskListAdapter setData");
            adapter.setData(tasks);
        }
    });
}

@Override
public void onResume() {
    super.onResume();
    mainViewModel.loadIncreasePointTaskList();
}
Run Code Online (Sandbox Code Playgroud)

android fragment android-livedata android-viewmodel

5
推荐指数
1
解决办法
5418
查看次数

找不到模块

我正在尝试运行react-native start并出现以下错误

"Cannot find module 'metro-core'.  Run CLI with --verbose flag for more details. 
Run Code Online (Sandbox Code Playgroud)

在收到此消息之前,我收到了一条不同的错误消息,指出未找到模块,因此我尝试了以下操作:

删除node_modules文件夹 -

rm -rf node_modules && npm install
Reset packager cache - rm -fr $TMPDIR/react-* or node_modules/react-native/packager/packager.sh --reset-cache
Clear watchman watches - watchman watch-del-all
Run Code Online (Sandbox Code Playgroud)

我刚刚输入了react-native start,模拟器上就弹出了错误消息,这告诉我在终端上查看错误消息。

react-native react-native-ios

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

如何从命令行发布.Net Core ASP便携版?

我需要为每个操作系统(win-32、win-64、Linux)构建 1 个版本。\n从 Visual Studio 中,您可以选择何时发布:依赖于框架和可移植。但我需要在詹金斯身上做这件事。

\n\n

我尝试使用命令:

\n\n
dotnet publish myapp.csproj --self-contained false --configuration Release --runtime ??? --output "\xd0\xa1:\\myapp"\n
Run Code Online (Sandbox Code Playgroud)\n\n

但运行时:“任何”、“便携式”不起作用。

\n\n

VS 如何使用 params 框架依赖和可移植进行构建?\n我没有使用 MSBuild、dotnet build 或 dotnet MSBuild,因为发布命令添加了一些独特的文件(web.config、资源)并删除了无用的文件(dep*.json)。

\n

c# msbuild jenkins .net-core

5
推荐指数
1
解决办法
6637
查看次数