RuntimeException - Unmarshalling unknown type code **** at offset ****

http://proguard.sourceforge.net/#manual/retrace/examples.html

http://stackoverflow.com/questions/21342700/proguard-causing-runtimeexception-unmarshalling-unknown-type-code-in-parcelabl

06-21 12:47:52.445: E/AndroidRuntime(15426): FATAL EXCEPTION: main
06-21 12:47:52.445: E/AndroidRuntime(15426): Process: com.sohutv.tv, PID: 15426
06-21 12:47:52.445: E/AndroidRuntime(15426): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.sohutv.tv/com.sohutv.tv.work.classification.activity.CategoryVideoListActivity}: java.lang.RuntimeException: Parcel android.os.Parcel@4194dbe8: Unmarshalling unknown type code 28 at offset 524
06-21 12:47:52.445: E/AndroidRuntime(15426): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2195)
06-21 12:47:52.445: E/AndroidRuntime(15426): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2245)
06-21 12:47:52.445: E/AndroidRuntime(15426): at android.app.ActivityThread.access$800(ActivityThread.java:135)
06-21 12:47:52.445: E/AndroidRuntime(15426): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1196)
06-21 12:47:52.445: E/AndroidRuntime(15426): at android.os.Handler.dispatchMessage(Handler.java:102)
06-21 12:47:52.445: E/AndroidRuntime(15426): at android.os.Looper.loop(Looper.java:136)
06-21 12:47:52.445: E/AndroidRuntime(15426): at android.app.ActivityThread.main(ActivityThread.java:5017)
06-21 12:47:52.445: E/AndroidRuntime(15426): at java.lang.reflect.Method.invokeNative(Native Method)
06-21 12:47:52.445: E/AndroidRuntime(15426): at java.lang.reflect.Method.invoke(Method.java:515)
06-21 12:47:52.445: E/AndroidRuntime(15426): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:787)
06-21 12:47:52.445: E/AndroidRuntime(15426): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:603)
06-21 12:47:52.445: E/AndroidRuntime(15426): at dalvik.system.NativeStart.main(Native Method)
06-21 12:47:52.445: E/AndroidRuntime(15426): Caused by: java.lang.RuntimeException: Parcel android.os.Parcel@4194dbe8: Unmarshalling unknown type code 28 at offset 524
06-21 12:47:52.445: E/AndroidRuntime(15426): at android.os.Parcel.readValue(Parcel.java:2080)
06-21 12:47:52.445: E/AndroidRuntime(15426): at android.os.Parcel.readSparseArrayInternal(Parcel.java:2363)
06-21 12:47:52.445: E/AndroidRuntime(15426): at android.os.Parcel.readSparseArray(Parcel.java:1735)
06-21 12:47:52.445: E/AndroidRuntime(15426): at android.os.Parcel.readValue(Parcel.java:2070)
06-21 12:47:52.445: E/AndroidRuntime(15426): at android.os.Parcel.readArrayMapInternal(Parcel.java:2314)
06-21 12:47:52.445: E/AndroidRuntime(15426): at android.os.Bundle.unparcel(Bundle.java:249)
06-21 12:47:52.445: E/AndroidRuntime(15426): at android.os.Bundle.getSparseParcelableArray(Bundle.java:1273)
06-21 12:47:52.445: E/AndroidRuntime(15426): at android.app.FragmentManagerImpl.moveToState(FragmentManager.java:827)
06-21 12:47:52.445: E/AndroidRuntime(15426): at android.app.FragmentManagerImpl.moveToState(FragmentManager.java:1062)
06-21 12:47:52.445: E/AndroidRuntime(15426): at android.app.FragmentManagerImpl.moveToState(FragmentManager.java:1044)
06-21 12:47:52.445: E/AndroidRuntime(15426): at android.app.FragmentManagerImpl.dispatchCreate(FragmentManager.java:1848)
06-21 12:47:52.445: E/AndroidRuntime(15426): at android.app.Activity.onCreate(Activity.java:902)
06-21 12:47:52.445: E/AndroidRuntime(15426): at com.sohutv.tv.activity.SohuFragmentActivity.onCreate(SohuFragmentActivity.java:30)
06-21 12:47:52.445: E/AndroidRuntime(15426): at com.sohutv.tv.activity.BaseActivity.onCreate(BaseActivity.java:70)
06-21 12:47:52.445: E/AndroidRuntime(15426): at com.sohutv.tv.work.classification.activity.CategoryVideoListActivity.onCreate(CategoryVideoListActivity.java:48)
06-21 12:47:52.445: E/AndroidRuntime(15426): at android.app.Activity.performCreate(Activity.java:5273)
06-21 12:47:52.445: E/AndroidRuntime(15426): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1101)
06-21 12:47:52.445: E/AndroidRuntime(15426): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2159)
06-21 12:47:52.445: E/AndroidRuntime(15426): ... 11 more 


内容概要:《2024年中国城市低空经济发展指数报告》由36氪研究院发布,指出低空经济作为新质生产力的代表,已成为中国经济新的增长点。报告从发展环境、资金投入、创新能力、基础支撑和发展成效五个维度构建了综合指数评价体系,评估了全国重点城市的低空经济发展状况。北京和深圳在总指数中名列前茅,分别以91.26和84.53的得分领先,展现出强大的资金投入、创新能力和基础支撑。低空经济主要涉及无人机、eVTOL(电动垂直起降飞行器)和直升机等产品,广泛应用于农业、物流、交通、应急救援等领域。政策支持、市场需求和技术进步共同推动了低空经济的快速发展,预计到2026年市场规模将突破万亿元。 适用人群:对低空经济发展感兴趣的政策制定者、投资者、企业和研究人员。 使用场景及目标:①了解低空经济的定义、分类和发展驱动力;②掌握低空经济的主要应用场景和市场规模预测;③评估各城市在低空经济发展中的表现和潜力;④为政策制定、投资决策和企业发展提供参考依据。 其他说明:报告强调了政策监管、产业生态建设和区域融合错位的重要性,提出了加强法律法规建设、人才储备和基础设施建设等建议。低空经济正加速向网络化、智能化、规模化和集聚化方向发展,各地应找准自身比较优势,实现差异化发展。
### A* 算法的 Java 实现 A* 是一种用于图遍历和路径寻找的有效算法,它结合了 Dijkstra 和 BFS 的特点来提供更高效的解决方案[^2]。下面是一个简单的 A* 算法在 Java 中的具体实现: #### 定义节点类 为了表示地图上的位置以及计算代价,定义了一个 `Node` 类。 ```java class Node { final int x, y; double gCost; // From start node to current node cost. double hCost; // Estimated distance from this node to end node (Heuristic). Node parent; public Node(int x, int y) { this.x = x; this.y = y; gCost = Double.MAX_VALUE; hCost = 0; parent = null; } public double fCost() { return gCost + hCost; } } ``` #### 创建 AStarSolver 类 此部分实现了核心逻辑,包括初始化开放列表、关闭列表并执行搜索过程直到找到目标或穷尽所有可能性。 ```java import java.util.*; public class AStarSolver { private static final int[][] directions = {{-1, 0}, {1, 0}, {0, -1}, {0, 1}}; List<Node> openList = new ArrayList<>(); Set<Node> closedSet = new HashSet<>(); public List<Node> findPath(Node start, Node goal) { PriorityQueue<Node> pq = new PriorityQueue<>(Comparator.comparingDouble(Node::fCost)); start.gCost = 0; start.hCost = heuristic(start, goal); pq.add(start); while (!pq.isEmpty()) { Node currentNode = pq.poll(); if (currentNode.equals(goal)) { return reconstructPath(currentNode); } closedSet.add(currentNode); for (int[] dir : directions) { int newX = currentNode.x + dir[0]; int newY = currentNode.y + dir[1]; Node neighbor = getNodeAt(newX, newY); // Assume method exists if (closedSet.contains(neighbor)) continue; double tentativeGScore = currentNode.gCost + distBetween(currentNode, neighbor); if (tentativeGScore < neighbor.gCost || !openList.contains(neighbor)) { neighbor.parent = currentNode; neighbor.gCost = tentativeGScore; neighbor.hCost = heuristic(neighbor, goal); if (!openList.contains(neighbor)) { openList.add(neighbor); pq.add(neighbor); } else { pq.remove(neighbor); pq.add(neighbor); } } } } throw new RuntimeException("No path found"); } private List<Node> reconstructPath(Node n) { LinkedList<Node> path = new LinkedList<>(); while (n != null) { path.addFirst(n); n = n.parent; } return path; } private double heuristic(Node a, Node b) { return Math.abs(a.x - b.x) + Math.abs(a.y - b.y); // Manhattan Distance as Heuristic } private double distBetween(Node a, Node b) { return Math.sqrt(Math.pow((a.x-b.x), 2)+Math.pow((a.y-b.y), 2)); // Euclidean Distance } private Node getNodeAt(int x, int y){ // Implementation depends on how nodes are stored in your grid/graph representation return null; } } ``` 上述代码展示了如何通过优先队列管理待处理节点,并利用曼哈顿距离作为启发函数来进行估算。当遇到终点时返回重建后的最优路径;如果无法到达,则抛出异常表明无解。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值