Thanks for your reply.
What I find is, even if the attributes are marked read-only in the feature service, Editing in Collector does not hide them automatically in the Edit form thus confusing the user. However, the data does not actually update for the read-only attributes. The update simply ignores user entered values. It will be nice if Collector app automatically filters out read-only attributes from the Edit form.