小编use*_*764的帖子

利用多核进行tar + gzip/bzip压缩/解压缩

我通常压缩使用tar zcvf和解压缩使用tar zxvf(由于习惯使用gzip).

我最近得到了一个具有超线程的四核CPU,所以我有8个逻辑核心,我注意到许多核心在压缩/解压缩期间未被使用.

有什么办法可以利用未使用的核心来加快速度吗?

gzip 7zip tar xz bzip2

198
推荐指数
4
解决办法
14万
查看次数

检查命令的输出是否包含shell脚本中的某个字符串

我正在编写一个shell脚本,我正在尝试检查命令的输出是否包含某个字符串.我想我可能不得不使用grep,但我不确定如何.有人知道吗?

bash shell grep

90
推荐指数
5
解决办法
12万
查看次数

getInstalledApplications与getInstalledPackages

我可以知道getInstalledApplications和之间的区别是getInstalledPackages什么?文档没有多说.

android

27
推荐指数
1
解决办法
8315
查看次数

在运行另一个Runnable之前等待Runnable完成

我有一个带有主标签活动的Android应用,以及各个标签内的多个活动.在我的主要活动的onCreate()中,我有一个可以创建列表的runnable,在各个活动中,我使用了这个列表.

在单个活动的onCreate()中,我还有可在列表上运行的Runnables.但是,我需要这些Runnables仅在主标签活动的Runnable完成创建列表时运行,否则我将得到一个空列表.我正试图找到一种优雅的方式来做到这一点.现在,在我的主要活动的Runnable中,我正在设置一个全局布尔变量isDone,在我的个人活动的Runnable中,我正在等待isDone通过while循环设置.这可行,但可能不是这样做的最佳方式.

有什么想法吗?

谢谢.

编辑:我正在尝试以下代码,但我收到运行时错误:

在我的MainActivity的Runnable中:

mainRunnable = new Runnable() {
  public void run() {
    try {
      generateList();
      synchronized(this) {
      listDone = true;
      notifyAll();
    }
  } catch (Exception e) {
      Log.e("BACKGROUND_PROC", e.getMessage());
    }
  }
};
Thread thread = new Thread(null, mainRunnable, "Background");
thread.start();
Run Code Online (Sandbox Code Playgroud)

在我的OtherActivity的Runnable中:

otherRunnable = new Runnable() {
  public void run() {
    synchronized(MainActivity.mainRunnable) {
      if (!MainActivity.getListDone()) {
        try {
          wait();
        } catch (InterruptedException e) {
        }
      }
    }
  }
};
Thread thread = new Thread(null, otherRunnable, "Background");
thread.start();
Run Code Online (Sandbox Code Playgroud)

mainRunnable似乎完全运行,但是otherRunnable似乎导致应用程序崩溃.我收到以下错误消息: …

java android

18
推荐指数
3
解决办法
5万
查看次数

将包含ASCII字符的字节数组转换为String

我有一个字节数组,由我希望转换为String的ASCII字符组成.例如:

byte[] myByteArray = new byte[8];
for (int i=0; i<8; i++) {
    byte[i] = (byte) ('0' + i);
}
Run Code Online (Sandbox Code Playgroud)

循环后,myByteArray应包含字符串"12345678".如何将此字符串转换为String变量?

谢谢!

java string bytearray

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

从C中的stdout输出系统命令

我正在Android/Linux下编写一个运行系统命令的C程序.该命令将一些文本输出到stdout,我正在尝试将输出捕获到字符串或字符数组中.

例如:

system("ls");
Run Code Online (Sandbox Code Playgroud)

会将当前目录的内容列为stdout,我希望能够以C编程方式将该数据捕获到C中.

我该怎么做呢?

谢谢.

c stdout

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

警告:APP_PLATFORM android-14比/home/user/MyApp/AndroidManifest.xml中的android:minSdkVersion大

我正在使用Android ndk-r8e,我在构建项目时遇到了问题.我收到上述错误消息.我检查了我的AndroidManifest.xml并将minSdkVersion设置为15,这就是我想要的.根据错误信息,APP_PLATFORM设置为android-14,它更小,不大于minSdkVersion,为什么我得到错误?

谢谢.

android-ndk

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

Bad base-64错误

我在以下代码中得到了"java.lang.IllegalArgumentException:bad base-64":

byte[] msgBytes = Base64.decode(msgStr, Base64.NO_WRAP);
Run Code Online (Sandbox Code Playgroud)

msgString是一个String,就在这一行之前,我检查了msgStr的值,它是"fl-ILw ==".有什么不对的吗?

谢谢.

base64 android illegalargumentexception

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

以编程方式检测Android屏幕叠加层

有没有办法让应用程序:

  1. 检查它上面是否存在屏幕叠加层,以及
  2. 弄清楚什么包名称拥有叠加层?

我知道Android M及以上版本能够在权限页面中检测到屏幕叠加,并在检测到屏幕叠加时拒绝权限更改,但开发人员是否能够在应用层中实现相同的功能?

user-interface android overlay

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

什么是Parcel.enforceInterface?

谁能告诉我Android的Parcel类中的enforceInterface方法有什么用呢?开发者网站没有解释其目的,谷歌也没有返回任何有用的点击.

谢谢.

android parcel parcelable

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