我正在尝试使用 Listview/customadapter 创建人员列表。行显示速度非常快,但即使在相当快的设备上滚动也非常慢。我尝试了几个建议,除了使用 asynchtask 希望将其作为最后的手段,但似乎没有任何提高性能的方法。最后,作为使用 asynchtask 之前的最后一枪,我尝试删除适配器的 getview 方法中的所有处理。现在它所做的只是从 xml 扩展 View 并显示空白行。我注意到即使那样滚动速度也没有提高。所以我怀疑原因可能是我的布局结构。 我可以做些什么来让它更快吗?任何帮助,将不胜感激。提前致谢。
<TextView android:id="@+id/mId" android:text="TextView"
android:layout_width="0px" android:layout_height="0px"></TextView>
<TextView android:id="@+id/phone" android:layout_height="0px"
android:layout_width="0px"></TextView>
<TextView android:id="@+id/email" android:layout_height="0px"
android:layout_width="0px"></TextView>
<ImageView android:id="@+id/imageView1" android:layout_width="match_parent"
android:layout_height="110dp" android:adjustViewBounds="true"
android:scaleType="fitXY" android:src="@drawable/bl_row_bg"></ImageView>
<TextView android:paddingTop="9.7dp" android:id="@+id/name"
android:paddingLeft="25.88dp" android:text="xxxx"
android:layout_width="wrap_content" android:layout_height="wrap_content"
android:textColor="@android:color/black" android:lines="1"
android:ellipsize="end" android:textStyle="bold"></TextView>
<ImageView android:src="@drawable/default_avatar" android:id="@+id/image1"
android:layout_height="110dp" android:layout_width="110dp"
android:scaleType="fitXY" android:paddingTop="6.47dp"
android:paddingBottom="6.47dp" android:paddingRight="6.47dp"
android:layout_alignParentRight="true"></ImageView>
<TextView android:id="@+id/txt1" android:paddingLeft="25.88dp"
android:text="Turning 24" android:layout_height="wrap_content"
android:layout_width="wrap_content" android:layout_below="@+id/name"
android:textColor="@android:color/black"></TextView>
<TextView android:id="@+id/txt2" android:paddingLeft="25.88dp"
android:text="23 Days to go" android:layout_height="wrap_content"
android:layout_width="wrap_content" android:layout_below="@+id/txt1"
android:textColor="@android:color/black"></TextView>
<ImageView android:layout_height="64.7dp" android:src="@drawable/ss_image2"
android:id="@+id/image2" android:layout_width="64.7dp"
android:scaleType="fitEnd" android:layout_alignBottom="@+id/imageView1"
android:layout_alignParentRight="true"></ImageView>
<ImageView android:src="@drawable/bl_date_background"
android:id="@+id/datebg" android:layout_height="110dp"
android:layout_width="25dp"></ImageView>
<ImageView android:id="@+id/icon1"
android:layout_toRightOf="@+id/datebg" android:layout_height="30dp"
android:layout_width="30dp" android:layout_alignBottom="@+id/imageView1"></ImageView>
<ImageView android:id="@+id/icon2"
android:layout_toRightOf="@+id/icon1" android:layout_height="30dp"
android:layout_width="30dp" android:layout_alignBottom="@+id/imageView1"></ImageView>
<ImageView android:id="@+id/icon3"
android:layout_toRightOf="@+id/icon2" android:layout_height="30dp"
android:layout_width="30dp" android:layout_alignBottom="@+id/imageView1"></ImageView>
<ImageView android:id="@+id/icon4" android:layout_toRightOf="@+id/icon3"
android:layout_height="30dp" android:layout_width="30dp"
android:layout_alignBottom="@+id/imageView1"></ImageView>
<ImageView android:id="@+id/icon5"
android:layout_toRightOf="@+id/icon4" android:layout_height="30dp"
android:layout_width="30dp" android:layout_alignBottom="@+id/imageView1"></ImageView>
<TextView android:id="@+id/date" android:text="Tue, Dec 12"
android:layout_height="wrap_content" android:layout_width="wrap_content"
android:layout_alignParentLeft="true" android:textColor="@android:color/black"
android:textStyle="bold" android:gravity="center" android:visibility="invisible"></TextView>
最佳答案
尝试跟随
ListView lv = getListView();
lv.setCacheColorHint(Color.TRANSPARENT); // not sure if this is required for you.
lv.setFastScrollEnabled(true);
lv.setScrollingCacheEnabled(false);
关于Android - 即使没有在适配器的 getView 方法中进行任何处理,带图像的 ListView 滚动速度也太慢,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8579570/
我在理解Enumerator.new方法的工作原理时遇到了一些困难。假设文档中的示例:fib=Enumerator.newdo|y|a=b=1loopdoy[1,1,2,3,5,8,13,21,34,55]循环中断条件在哪里,它如何知道循环应该迭代多少次(因为它没有任何明确的中断条件并且看起来像无限循环)? 最佳答案 Enumerator使用Fibers在内部。您的示例等效于:require'fiber'fiber=Fiber.newdoa=b=1loopdoFiber.yieldaa,b=b,a+bendend10.times.m
我已经构建了一些serverspec代码来在多个主机上运行一组测试。问题是当任何测试失败时,测试会在当前主机停止。即使测试失败,我也希望它继续在所有主机上运行。Rakefile:namespace:specdotask:all=>hosts.map{|h|'spec:'+h.split('.')[0]}hosts.eachdo|host|begindesc"Runserverspecto#{host}"RSpec::Core::RakeTask.new(host)do|t|ENV['TARGET_HOST']=hostt.pattern="spec/cfengine3/*_spec.r
最近因为项目需要,需要将Android手机系统自带的某个系统软件反编译并更改里面某个资源,并重新打包,签名生成新的自定义的apk,下面我来介绍一下我的实现过程。APK修改,分为以下几步:反编译解包,修改,重打包,修改签名等步骤。安卓apk修改准备工作1.系统配置好JavaJDK环境变量2.需要root权限的手机(针对系统自带apk,其他软件免root)3.Auto-Sign签名工具4.apktool工具安卓apk修改开始反编译本文拿Android系统里面的Settings.apk做demo,具体如何将apk获取出来在此就不过多介绍了,直接进入主题:按键win+R输入cmd,打开命令窗口,并将路
我正在我的Rails项目中安装Grape以构建RESTfulAPI。现在一些端点的操作需要身份验证,而另一些则不需要身份验证。例如,我有users端点,看起来像这样:moduleBackendmoduleV1classUsers现在如您所见,除了password/forget之外的所有操作都需要用户登录/验证。创建一个新的端点也没有意义,比如passwords并且只是删除password/forget从逻辑上讲,这个端点应该与用户资源。问题是Grapebefore过滤器没有像except,only这样的选项,我可以在其中说对某些操作应用过滤器。您通常如何干净利落地处理这种情况?
我花了几天时间尝试安装ruby1.9.2并让它与gems一起工作:-/我最终放弃了我的MacOSX10.6机器,下面是我的Ubuntu机器上的当前状态。任何建议将不胜感激!#rubytest.rb:29:in`require':nosuchfiletoload--mongo(LoadError)from:29:in`require'fromtest.rb:1:in`'#cattest.rbrequire'mongo'db=Mongo::Connection.new.db("mydb")#gemwhichmongo/usr/local/rvm/gems/ruby-1.9.2-p0/g
假设您编写了一个类Sup,我决定将其扩展为SubSup。我不仅需要了解你发布的接口(interface),还需要了解你的私有(private)字段。见证这次失败:classSupdefinitialize@privateField="fromsup"enddefgetXreturn@privateFieldendendclassSub问题是,解决这个问题的正确方法是什么?看起来子类应该能够使用它想要的任何字段而不会弄乱父类(superclass)。编辑:equivalentexampleinJava返回"fromSup",这也是它应该产生的答案。 最佳答案
我需要在rail3中使用标准注册/登录/忘记密码功能进行身份验证。是否有大多数人为此使用的插件或其他东西? 最佳答案 我不确定最常用的方法是什么-但可以肯定的是,Plataformatec的“Devise”是一个非常流行的方法:http://github.com/plataformatec/devise我已经尝试了一些authgem,对我来说,它是最简单的设置和修改以满足我的需要。它内置了密码恢复、帐户确认(如果需要)和其他一些非常方便的功能。 关于ruby-on-rails-在Rail
我怎样才能使这个更短和可扩展:defoverviewputs"AllAs:"forfin@aputsfendputs"\n"puts"AllBs:"forfin@bputsfendend 最佳答案 forfin@aputsfend我们可以写吗puts@a.join("\n")在一般情况下,当你想对几个数组做某事时,你可以将数组放入一个数组中,然后使用each例如[@a,@b].eachdo|list|list.each{|value|putsvalue}end一旦你开始做一些比打印出值更复杂的事情,那么在你正在执行的操作上使用提取方
我设置了以下模型:classContact:no_freq?validates_presence_of:freq,:if=>:no_band?protecteddefno_freq?freq.nil?enddefno_band?band.nil?endendclassBand当我在我的新View中输入频率时,如果输入了频率,则不允许指定波段。这在我的其他观点中造成了问题,因为band现在为零。我如何允许不指定band并在我的index和showView中显示为空,然后在editView中允许在以后指定一个。通过执行以下操作,我已经能够让我的索引显示空白:contact.band&&co
这是问题的一个完美示例:ClassifiergembreaksRails.**原始问题:**作为一名安全专家,让我担心的一件事是Ruby没有与Java的包隐私平行的东西。也就是说,这不是有效的Ruby:publicmoduleFoopublicmoduleBar#factorymethodfornewBarimplementationsdefself.new(...)SimpleBarImplementation.new(...)enddefbazraiseNotImplementedError.new('ImplementingClassesMUSTredefine#baz')end