Loading [MathJax]/jax/input/TeX/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >为android应用程序编写汇编语言代码

为android应用程序编写汇编语言代码
EN

Stack Overflow用户
提问于 2014-01-29 13:37:14
回答 3查看 244关注 0票数 1

我有一个非常大的字符串列表...(ArraList myList),我想非常快地从这个列表中删除重复的项目...我将项目复制到一个HashMap中,这是我找到的最好的算法,但它还不够快……我发现了一些东西,比如用原生语言编写代码,并在android应用程序中实现它,我们可以用原生语言从列表中删除重复的代码吗?有没有用汇编语言编写的函数可以比java更快地做到这一点?

如果没有,有没有比java更快的函数来比较两个字符串呢?

EN

回答 3

Stack Overflow用户

发布于 2014-01-29 14:42:05

要回答这个问题,可以使用NDK用C为安卓编写程序。而且,由于从C到汇编程序的路程很短,在汇编程序中也是可能的。虽然Java的性能目前相当不错,但在我看来,没有一种语言可以更快地检查数组中的重复项,这似乎有点高估了。

然而,在不同语言之间切换是复杂的,对于如此琐碎的任务,仅通过访问JNI级别的数组可能会降低性能。

重新考虑算法可能更合理。例如:

  • 如果您只需要遍历列表,但必须对其进行排序,请使用LinkedHashSet。这将防止重复项开始。
  • 如果您有很多重复项,则删除操作的成本可能会太高,因为阵列的大部分可能会移动很多次。尝试将要删除的项设置为null,然后从头开始重新创建数组,跳过null。
票数 1
EN

Stack Overflow用户

发布于 2014-01-29 14:28:12

有没有用汇编语言编写的函数可以比java更快地做到这一点?

这样的函数已经存在了吗?我不知道。我不知道如果真是这样的话怎么找得到。

你能写一个这样的函数吗?也许..。理论上是这样。

  • 假设有一个函数可以在理论上尽可能快地执行这项任务(在某些上下文中)。
  • 无论该函数是用什么语言编写的,都应该可以找出函数编译器(或汇编)要编译成什么机器代码。
  • 做到了这一点后,你就可以把机器代码变成汇编程序了……给出一个执行最大performance.
  • And任务的汇编语言函数,因为这样的汇编语言程序(在理论上)可以存在,一个足够聪明/熟练/耐心的人(在理论上)可以编写它……从头开始!

但问题是,你需要成为一名真正优秀的汇编程序员(对所涉及的算法有很好的理解)才能做到这一点。更重要的是,不能保证现有的Java实现(当使用好的JIT编译器编译时)不会很快。

我之所以在这里感到悲观,是因为在HLL (如Java)中实现高效的哈希表对大多数人来说已经够难的了。在汇编语言中实现同样的思考将会困难几个数量级。(这是修辞。你不能真的像那样量化难度...)

如果没有,有没有比java更快的函数来比较两个字符串呢?

我看不出这会有多大帮助。如果您正确地使用了HashSet,那么字符串比较应该不会成为您的问题的性能瓶颈。即使你的重复率很高,也不会。

票数 0
EN

Stack Overflow用户

发布于 2014-01-29 14:46:32

你在哪里获取和存储你的字符串列表?使用SQLite或者像CQEngine这样的东西来存储和管理数据会不会更好?

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21432733

复制
相关文章
编写高效的Android代码
毫无疑问,基于Android平台的设备一定是嵌入式设备。现代的手持设备不仅仅是一部电话那么简单,它还是一个小型的手持电脑,但是,即使是最快的最高端的手持设备也远远比不上一个中等性能的桌面机。
飞雪无情
2018/08/28
6150
为异步Python代码编写单元测试
为了充分利用 FastAPI 作为一个 ASGI 框架的原生异步支持特性,很多业务代码也改成了异步函数,并且使用了异步的 HTTP 库httpx和 MongoDB 的异步 Python drivermotor。
子润先生
2021/06/18
1.6K0
独家 | 如何用简单的Python为数据科学家编写Web应用程序?(附代码&链接)
作者:拉胡尔·阿加瓦尔(Rahul Agarwal), Walmart 实验室的数据科学家
数据派THU
2019/12/05
1.9K0
不需要编写代码就可以构建应用程序?
我们普遍认为,在依赖技术的现代世界中,会编码一定是件好事。但是业务团队甚至软件开发人员真的需要编写代码来构建应用程序吗?
增强现实核心技术产业联盟
2020/05/29
5500
如何使用简单的Python为数据科学家编写Web应用程序?
可以转到本地URL:localhost:8501在浏览器中,查看Streamlit应用程序的运行情况。开发人员提供了一些不错的演示,请花点时间并感觉一下工具的功能。
代码医生工作室
2019/11/14
2.9K0
Win8下用DOSBox编写汇编语言
DOSBox 是一个 DOS模拟程序,可以很方便的移植到其他的平台,因此可以使用它在Win8系统中编写汇编语言。下面提供相关下载链接:
全栈程序员站长
2022/07/23
7160
Win8下用DOSBox编写汇编语言
android应用程序_chrome Android
最近在看Android源码Setting代码的时候,发现其中配置都是用的PreferenceFragment,以前对这一块不是很了解,
全栈程序员站长
2022/10/04
5180
android应用程序_chrome Android
使用汇编语言编写的计算器
计算器实现简单的加减乘除运算(小于65536的正数) ①从键盘输入算数的等式 ②不接受复合算数如3+5*7 ③按‘=’号输出结果 ④按‘C’号作为CLEAR清零 程序分为输入模块,判断模块,计算模块,
里克贝斯
2021/05/21
1K0
使用汇编语言编写的计算器
Android应用程序启动过程源代码分析(4)
Step 28. ActivityStack.realStartActivityLocked
全栈程序员站长
2022/07/05
3550
为世界构建应用程序
在155个国家和40多种语言中增长您的业务, 并帮助世界各地的用户轻松地发现和下载您的应用程序。
iOSDevLog
2018/07/25
9320
汇编语言学习笔记-设置开发环境,编写hello world!
我用的IDE是masm32 官方网站是:http://www.masm32.com/ 下载的地址是:http://www.masm32au.com/masm32/m32v10r.zip (这个包适合中国人开发For programmers in Australia, China, South East Asia and the Pacific region.)
liulun
2022/05/09
4700
汇编语言学习笔记-设置开发环境,编写hello world!
8086汇编语言之代码分段
以上代码存在一个问题, 由于数据是在代码段中定义, cpu默认将数据识别为代码, 将导致数据不可用,那么解决办法为,增加入口标记:
乱码三千
2021/08/24
1K0
Android应用程序使用代码签名证书的重要性
根据Statista 的数据显示,智能手机用户数量已超过65亿,预计到2025年将增长到 76 亿。在智能手机开发行业中安卓操作系统占主导地位。截至2022年8月,Android在移动操作系统中占据了70%的市场份额。
Anita
2022/12/07
9790
Android应用程序使用代码签名证书的重要性
Android 应用程序签名
Android应用程序签名相关的理论知识包括:什么是签名、为什么要给应用程序签名、如何给应用程序签名等。
阳光岛主
2019/02/19
1.7K0
android VitualXposed 模块编写
virtual Xposed virtual Xposed下载链接: 提取码: kyrd virtual xposed wiki vx的一些命令 adb shell am start io.va.exposed/io.virtualapp.splash.SplashActivity 启动 adb shell am broadcast -a io.va.exposed.CMD -e cmd reboot 重启 adb shell am broadcast -a io.va.exposed.CMD
tea9
2022/07/16
8430
android VitualXposed 模块编写
如何在2021年编写网络应用程序?
在本文中,我将逐步向您介绍我使用的工具。您可以继续学习,但是了解“我为什么要这样做”比“我在做什么”更为重要。一个很好的建议是,尝试在本教程中与我一起执行相同的步骤。然后,尝试更改一些越来越大的东西。最后,在结尾您应该能够自己再次进行所有操作。
海拥
2021/08/23
10.9K0
如何在2021年编写网络应用程序?
代码整洁之道-编写 Pythonic 代码
很多新手在开始学一门新的语言的时候,往往会忽视一些不应该忽视的细节,比如变量命名和函数命名以及注释等一些内容的规范性,久而久之养成了一种习惯。对此呢,我特意收集了一些适合所有学习 Python 的人,代码整洁之道。
用户1564362
2019/10/31
1.6K0
C 代码编写规范
1) 使用一次tab操作,实现缩进,默认整体向右边移动,时候用shift+tab整体向左移
兮动人
2021/06/30
7040
C 代码编写规范
C 代码编写规范
文章目录 1. 正确的注释和注释风格: 2. 正确的缩进和空白 3. 行尾风格 4. 次行风格 1. 正确的注释和注释风格: 如果注释的一个函数,可以使用块注释 如果注释函数中的某一个语句,使用单行
兮动人
2021/07/21
7140
C 代码编写规范
点击加载更多

相似问题

为android应用程序编写伪代码

45

android为编写代码错误

23

您能帮忙编写这个汇编语言代码吗?

33

为Android编写"Simon“;难以暂停代码

23

为android应用程序编写代理

10
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
社区富文本编辑器全新改版!诚邀体验~
全新交互,全新视觉,新增快捷键、悬浮工具栏、高亮块等功能并同时优化现有功能,全面提升创作效率和体验
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文