小编set*_*hro的帖子

除使用字符串之外的ListAdapter过滤器?

看来,用例的Adapter就是Filterable是通过过滤StringCharSequence可能通过在用户输入EditText,但事实真的是平台提供过滤的唯一标准AdapterS'

如果我有一个可以分类的对象的后备数据结构怎么办?例如,如果我有一个具有enum属性的Shirt对象列表,该color怎么办?用户应该能够从可用color的列表中过滤衬衫列表.作为一个优秀的应用程序开发人员,我想使用过滤机制中构建的平台,但我能找到的所有Filter方法都是这样的filter (CharSequence constraint).我肯定错过了什么.我看到在我自己的自定义中实现这种过滤机制是多么简单BaseAdapter,但感觉应该有一些内置的方法来做自定义过滤器.任何人?提前致谢.

android listview filter listadapter

13
推荐指数
1
解决办法
444
查看次数

WebSocket频繁onmessage零拷贝

我有一个应用程序经常通过WebSocket接收二进制消息(每帧至少一次)并使用canvas/webgl绘制数据.我注意到我有一个非常好的锯齿记忆配置文件; 很多短暂的数据块. 在此输入图像描述

这并不让我感到惊讶,因为我收到了一个对象onmessage,至少每16ms一次,用于绘图然后取消引用.

我的问题是:有没有避免/减少这个的提示?基于WebSocket API,似乎没有替代在每个套接字接收调用上分配新内存.在另一种语言/环境中,我会预先分配一些内存并接收到该缓冲区,以避免不断为短期对象分配内存,但我想不出任何明显的方法可以在浏览器的JavaScript中实现这一点.

作为参考,这是我的框架视图.

在此输入图像描述

我不知道那个空闲时间是垃圾收集吗?任何开发工具忍者见解将不胜感激.

javascript browser garbage-collection memory-management websocket

11
推荐指数
1
解决办法
450
查看次数

避免返回通配符类型

我有一个带有通配符类型集合的类,它是一个单例,类似于:

public ObliviousClass{

    private static final ObliviousClass INSTANCE = new ObliviousClass();

    private Map<Key, Type<?>> map = new HashMap<Key, Type<?>>();

    public void putType(Key key, Type<?> type){
        map.put(type);
    }

    // returns the singleton
    public static ObliviousClass getInstance(){
        return INSTANCE;
    }

}
Run Code Online (Sandbox Code Playgroud)

我希望能够在客户端代码中为此集合添加不同的参数化类型:

void clientMethod(){
    ObliviousClass oc = ObliviousClass.getInstance();

    Type<Integer> intType = ...
    Type<String> stringType = ...

    oc.putType(new Key(0), intType);
    oc.putType(new Key(1), stringType);
}
Run Code Online (Sandbox Code Playgroud)

到目前为止,据我所知,一切都很好.但是客户还需要能够获得Type<?>提供的服务Key.因此,将添加以下类似的方法ObliviousClass:

public Type<?> getType(Key key){
    return map.get(key);
}
Run Code Online (Sandbox Code Playgroud)

但是在我有用的Java副本中,我读到:

不要将通配符类型用作返回类型.

我理解这个问题,因为客户端必须抛出返回的内容 …

java generics wildcard generic-collections

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

Chrome 开发工具:时间轴 - 白条

我正在尝试了解有关 Chrome 开发工具中时间线的一些内容。从文档中,我发现灰色条和清晰条分别是“未由 DevTools 检测的活动”和“显示刷新周期之间的空闲时间”。

我有一个应用程序,它呈现每帧 ( requestAnimationFrame()) 的更新,并且有一个典型的时间线配置文件,如下图所示:

在此处输入图片说明 在此处输入图片说明

不幸的是,对我来说,文档并没有说明如何评估我的应用程序中的灰色和白色空间。我的问题是:

“空闲”清除条是否总是填满渲染之间的时间?

换句话说,就白条而言,我看到的配置文件是否符合预期?我很想这样假设,但文档中的示例屏幕截图如下所示:

在此处输入图片说明

有明显的帧,其中空白没有填充渲染之间的空间。

时间线配置文件和收集配置文件的机器上的 CPU 利用率之间是否存在粗略的关系?

在下面的配置文件中,大约 40% 的时间是空闲的,所以我可以期望这对应于使用约 60% 的核心用于配置文件中表示的操作吗?

有什么方法可以表征“未检测”的灰条?

或者是否有可能是典型的东西(垃圾收集等)?

希望这对一个问题来说不算太多。提前致谢

google-chrome google-chrome-devtools

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

限制对特定Cognito用户的S3对象访问

我正在开发一个应用程序,它将管理对存储在S3中的已购买文件的访问.我在S3中按产品组织文件,例如:

my-bucket
  ??? product-a
  ?     ??? file-1
  ?     ??? file-2
  ?     ??? file-3
  ??? product-b
  ?     ??? file-1
  ?     ??? file-2
  ?     ??? file-3
  ??? etc...
Run Code Online (Sandbox Code Playgroud)

我还使用Cognito来管理用户身份和身份验证.我想创建一个IAM角色,所有用户都会认为这个角色只允许他们访问他们购买的产品的文件.这样做的正确方法是什么?我已经阅读了Cognito的文档,我觉得我只是没有完全连接点.

我从这个例子中看到,我可以为每个用户提供对存储桶中自己的文件夹的访问权限,但之后我必须将文件复制到每个用户的文件夹,这似乎既低效又容易出错.

{
  "Version": "2012-10-17",
   "Statement": [
   {
     "Effect": "Allow",
     "Action": ["s3:ListBucket"],
     "Resource": ["arn:aws:s3:::my-bucket"],
      "Condition": {"StringLike": {"s3:prefix": ["cognito/myapp/"]}}
    },
    {
      "Effect": "Allow",
      "Action": [
        "s3:GetObject"
      ],
      "Resource": [
        "arn:aws:s3:::my-bucket/myapp/${cognito-identity.amazonaws.com:sub}",
        "arn:aws:s3:::my-bucket/myapp/${cognito-identity.amazonaws.com:sub}/*"
      ]
    }
  ]
}
Run Code Online (Sandbox Code Playgroud)

但我希望创建一个策略,授予用户访问product-aif和仅当他们购买该产品的文件夹的权限,比如说使用该用户的Cognito Sync数据中包含的一些标志.

这可能吗?我只是没有使用正确的工具?我认为这必须是一个常见的用例.

amazon-s3 amazon-web-services amazon-cognito

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

git:错误:无法找到SDK"macosx"

刚刚将我的机器更新为Yosemite.我现在从Git收到此错误:

git: error: SDK "macosx" cannot be located
Run Code Online (Sandbox Code Playgroud)

我能够毫无问题地运行git status,但git add似乎有任何工作,但随后抛出此错误.安装了命令行工具,我尝试重新安装Git.

git macos osx-yosemite

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

ThreadPoolExecutor - 指定哪个线程处理给定的任务

是否有一种很好的方法来实现一个执行策略,该策略可以根据某种识别方案确定哪个线程将处理给定的任务?或者这甚至是一个好方法?

我需要处理 1-many 文件,我将在交错块中接收这些文件。当块到达时,我想完成处理该块的任务。问题是我没有让处理代码成为线程安全的奢侈,所以一旦池中的线程处理了文件中的一个块,我需要同一个线程来处理该文件的其余部分。我不在乎一个线程是否正在同时处理多个文件,但我不能同时处理同一个文件的池中的多个线程。

《Java 并发实践》一书指出,您可以使用执行策略来确定“任务将在哪个线程中执行?”,但我不明白如何执行。

谢谢

java parallel-processing multithreading task threadpool

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