Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/spring-mvc/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android SKD19与SDK24-API的使用记录为@自1.8+;_Android_Sdk - Fatal编程技术网

Android SKD19与SDK24-API的使用记录为@自1.8+;

Android SKD19与SDK24-API的使用记录为@自1.8+;,android,sdk,Android,Sdk,在我的应用程序中有一个错误。 错误为“API的使用记录为@自1.8+…” 应用程序在SDK24上运行良好,但当我在minSDK-19上运行它时,它只是在错误行上崩溃,PriorityQueue在该行中初始化。我检查了API级别1上添加的PriorityQueue类。那么问题出在哪里呢 Q:如何修复它?在API 24中添加了,因此它与旧版本不向后兼容(minsdk应该是24) 可以使用除此之外的任何其他版本的构造函数 虽然最接近您当前使用的是具有初始容量的 另一个解决办法是 您可以对照当前的A

在我的应用程序中有一个错误。

错误为“API的使用记录为@自1.8+…”

应用程序在SDK24上运行良好,但当我在minSDK-19上运行它时,它只是在错误行上崩溃,PriorityQueue在该行中初始化。我检查了API级别1上添加的PriorityQueue类。那么问题出在哪里呢

Q:如何修复它?

在API 24中添加了,因此它与旧版本不向后兼容(minsdk应该是24) 可以使用除此之外的任何其他版本的构造函数

虽然最接近您当前使用的是具有初始容量的

另一个解决办法是 您可以对照当前的API进行检查,如

PriorityQueue<Cell> pq;
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Nougat) {
      pq = new  PriorityQueue(new CellComparator());
}else{
      pq = new  PriorityQueue(50/*initial capacity*/,new CellComparator());
}
PriorityQueue pq;
if(Build.VERSION.SDK\u INT>=Build.VERSION\u code.Nougat){
pq=新的优先级队列(新的CellComparator());
}否则{
pq=新的优先级队列(50/*初始容量*/,新的CellComparator());
}
其中
初始容量
的意思是:PQ在内部使用默认容量为
11的数组
,因此,如果您事先知道元素的数量,那么最好定义队列数组的初始容量,因为它可以防止在运行时重新创建较大的数组和复制数组元素

在API 24中,因此它与旧版本不向后兼容(minsdk应为24) 可以使用除此之外的任何其他版本的构造函数

虽然最接近您当前使用的是具有初始容量的

另一个解决办法是 您可以对照当前的API进行检查,如

PriorityQueue<Cell> pq;
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Nougat) {
      pq = new  PriorityQueue(new CellComparator());
}else{
      pq = new  PriorityQueue(50/*initial capacity*/,new CellComparator());
}
PriorityQueue pq;
if(Build.VERSION.SDK\u INT>=Build.VERSION\u code.Nougat){
pq=新的优先级队列(新的CellComparator());
}否则{
pq=新的优先级队列(50/*初始容量*/,新的CellComparator());
}

其中
初始容量
的意思是:PQ在内部使用默认容量为
11的数组
,因此,如果您事先知道元素的数量,那么最好定义队列数组的初始容量,因为它可以防止在运行时重新创建较大的数组和复制数组元素

不是使用
PriorityQueue
而是使用构造函数。根据

这个带有比较器的构造函数是在API 24中添加的,因此不适用于较低的API级别

你可以试试下面的


PriorityQueue(int initialCapacity,Comparator问题不在于
PriorityQueue
而在于您正在使用的构造函数。根据

这个带有比较器的构造函数是在API 24中添加的,因此不适用于较低的API级别

你可以试试下面的


PriorityQueue(int initialCapacity,comparator什么是初始容量?@TomTom initial capacity是指它能容纳的元素数量,基本上是用来节省内存的,当你事先知道需要存储的元素数量时,尽管当needed@TomTom我很高兴能帮上忙,快乐的科迪nginitial capacity是什么?@TomTom initial capacity的意思是,它可以容纳的元素数量,基本上是用来节省内存的,当您事先知道需要存储的元素数量时,尽管当needed@TomTom我很高兴能帮上忙,很高兴