Articles of 表现

内置animation适合长时间运行的慢animation吗?

我需要在主屏幕上有相对较慢的移动图像(有些像动态壁纸),我想知道,Android CPUanimation类在CPU负载方面是否有用? 我关心的是androidanimation以最高帧速度运行,有时它会产生相同的X,Y坐标连续几个周期。 并且没有办法减慢animation帧速率。 谷歌是否有任何推荐?

如何强制最大CPU使用率

我正在做目前的硬件温度测试,我想知道你将如何做一个最大性能任务,以保持我的设备的所有4个内核忙,以测量峰值温度? 我当然可以使用无限循环启动n Threads,但我认为可能有更好的方法来解决这个问题。 while (true) { try { new Thread() { public void run() { while (true) { try { Runtime.getRuntime().exec(“ps”); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } } }.start(); } catch (Error e) { // typically will be OutOfMemoryerror during Thread alloc } } 在您的清单中: <application android:largeHeap="true" … […]

API上的Android应用程序onLowMemory()> = 14

一个小问题。 根据Android文档: 最好,您应该从ComponentCallbacks2实现ComponentCallbacks2.onTrimMemory,以根据各种级别的内存需求逐步卸载资源。 该API适用于API级别14及更高版本,因此您只应将此onLowMemory方法用作旧版本的后备版本 所以。 onLowMemory()也会被更高级的API调用? 显然,我只想在级别为TRIM_MEMORY_COMPLETE时从onTrimMemory()调用它,但我不希望它被调用两次:) 谢谢!

Android Studio在真实设备上运行应用程序需要太长时间

我有一台配备Core i3处理器和2GB RAM的笔记本电脑,而我正在使用我的Sony Xperia C作为仿真器的替代品。 当我点击调试并选择我的移动设备时,Gradle开始构建,大约需要5到10分钟才能完成。 我知道我的资源非常少,但我怀疑为什么完成构建和运行应用程序需要很长时间才有另一个原因。 我在logcat选项卡中注意到它花时间发送请求并反复等待响应。 任何人都可以告诉我,如果问题出在硬件资源上,或者我怀疑其他原因是什么。

Android Share Preferences与Intent extra以共享数据

在我的Android应用程序中,我必须将数据(关于应用程序状态的variables)从Activiy传递到另一个。 我必须在其他活动中多次这样做。 有什么最好,最有效的方法呢? 我是否应该在每次需要时从共享偏好中读取该信息,还是应该将其作为额外的意图发送?

我的应用程序花了很多时间启动First Activity屏幕

我的应用程序花了很多时间启动First Activity屏幕。 它会长时间显示白屏。 甚至在杀死我的应用程序和访问后。 我使用的是Java 8和Android Studio 2.1.1,Gradle版本为com.android.tools.build:gradle:2.1.0

Android:使用NDK和轮询提高传感器采样率

我想编写一个应用程序,从不同的传感器(GPS,Acc,Gyro,Compass)读取尽可能多的传感器存储(每次)。 所以我必须调查使用NDK是否有优势。 这是我的问题: a)从传感器读取传感器值时的瓶颈是什么? 是senosr本身还是Java? 我可以使用NDK来提高费率吗? (我认为GPS的瓶颈是传感器本身,但我已经读过,例如陀螺仪传感器非常快)我find了这个线程 ,似乎瓶颈就是传感器。 有人可以证实吗? b)轮询而不是使用EventListener是否会提高速率? 什么是快速读取传感器值的最佳方法? c)NDK的使用是否会对应用的功耗产生任何影响? 我没有发现任何相关的事情。 d)我是Android的新手。 使用NDK而不是普通的Java是否更有能力? 根据这个示例代码 ,使用事件队列与传感器进行交互似乎很简单,但是编译代码并从应用程序中使用它有多大的代价? 提前致谢。

谷歌地图v2 Projection.toScreenLocation(…)非常慢

我已在Android应用程序中将Google Maps v1升级到v2。 而v2很不错,但是一种方法似乎是我生命中最慢的方法。 Projection proj = map.getProjection(); Point point = proj.toScreenLocation(example.m_geopoint); toScreenLocation(…)是如此之慢,因此应用程序减慢到无法使用的慢动作。 该方法每帧更新可能100次,但在Google Maps v1上效果非常好。 当我在Android Console中检查时,我看到了这个: 10-06 13:53:04.460: D/dalvikvm(4889): GC_EXPLICIT freed 251K, 14% free 14622K/16839K, paused 3ms+5ms 10-06 13:53:05.859: D/dalvikvm(4889): GC_EXPLICIT freed 252K, 14% free 14622K/16839K, paused 2ms+5ms 10-06 13:53:07.222: D/dalvikvm(4889): GC_EXPLICIT freed 251K, 14% free 14622K/16839K, paused 3ms+6ms … 调用该方法时,此消息将一直显示。 v2和v1之间的区别是: pointOut […]

Android:ANR输入调度超时

我在一些手机上收到以下错误日志,如下所示: 原因:输入调度超时(等待发送非键事件,因为触摸的窗口尚未处理超过500.0ms前传递给它的某些输入事件。等待队列长度:20。等待队列头部年龄:5509.1ms。) 我正在使用Retrofit 2进行网络调用,其中我使用异步方法,使用数据库作为领域,我使用异步事务来编写内容。 使用Glide进行图像加载。 在使用严格模式时,我发现我得到了共享首选项的惩罚日志。 任何其他指向查看和调试问题的指针

如何提高以下代码的性能?

我有以下代码显示带有字母的图像, public class MainActivity extends Activity { private String[] capital_letters,small_letters; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); this.requestWindowFeature(Window.FEATURE_NO_TITLE); this.getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN); setContentView(R.layout.activity_main); } @Override protected void onStart() { super.onStart(); try { capital_letters = getApplicationContext().getResources().getStringArray( R.array.capital_letters ); small_letters = getApplicationContext().getResources().getStringArray( R.array.small_letters ); MyAdapter adapter = new MyAdapter ( MainActivity.this ,capital_letters,small_letters ); ListView list = ( ListView ) […]